Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Object ¶
type Object interface { // ID returns an unique ID of the object ID() int64 // Bounds returns the bounding box of the object. Bounds() *vec3.Box // GeometryData returns raw geometry data of the object GeometryData() []byte // Metadata returns arbitrary JSON-convertible metadata for // the object. Metadata() interface{} }
type Repository ¶
type Repository interface { // Add puts the object given in the database. Returns the ID of the inserted // object or an error. Add(o db.Object) (int64, error) // GetInsideVolume returns all objects inside the bounding box. Returns two channels, // one for geometry object and one for error. The operation is aborted on the first error. // Optionally, one or more Options may be provided to alter the behaviour of the // operation. GetInsideVolume(bounds vec3.Box, options ...interface{}) (<-chan db.Object, <-chan error) // GetInsideVolumeIDs returns the same result as GetInsideVolume, but only returns // object IDs as a flat array rather than a channel of objects. GetInsideVolumeIDs(bounds vec3.Box, options ...interface{}) ([]int64, error) // GetWithIds returns objects with the given IDs. Returns two channels, // one for geometry object and one for error. The operation is aborted on the first error. GetWithIDs(ids []int64) (<-chan db.Object, <-chan error) // GetWithID returns object the the given ID, or an error if the operation fails. GetWithID(id int64) (db.Object, error) }
Repository represents a spatial database with fast spatial lookups.
func NewRepository ¶
func NewRepository(database db.Objects) (Repository, error)
type SimpleObject ¶
type SimpleObject struct {
// contains filtered or unexported fields
}
func NewSimpleObject ¶
func NewSimpleObject(bounds vec3.Box, geometryData []byte, metadata interface{}) *SimpleObject
func (*SimpleObject) Bounds ¶
func (o *SimpleObject) Bounds() *vec3.Box
func (*SimpleObject) GeometryData ¶
func (o *SimpleObject) GeometryData() []byte
func (*SimpleObject) ID ¶
func (o *SimpleObject) ID() int64
func (*SimpleObject) Metadata ¶
func (o *SimpleObject) Metadata() interface{}
Click to show internal directories.
Click to hide internal directories.