Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Layer ¶
Layer represents a collection of scenes that combined form 'a layer'.
All scenes in a layer is visualized together, but grouping scenes into layers allow updating one scene without having to update all scenes in the layer.
A layer lives in a 'world'
type Layers ¶
type Layers interface {
// GetAll returns all layers of the given world.
GetAll() ([]*Layer, error)
// Get returns the layer with the specified ID.
Get(layerid int64) (*Layer, error)
// Add creates a new layer and returns the ID, or an error.
Add(layer *Layer) (int64, error)
// Delete deletes the layer with the given ID.
Delete(layerid int64) error
}
Layers provide functionality for accessing layers from a database.
type MockLayers ¶
func (*MockLayers) Add ¶
func (_m *MockLayers) Add(layer *Layer) (int64, error)
Add provides a mock function with given fields: layer
func (*MockLayers) Delete ¶
func (_m *MockLayers) Delete(layerid int64) error
Delete provides a mock function with given fields: layerid
func (*MockLayers) Get ¶
func (_m *MockLayers) Get(layerid int64) (*Layer, error)
Get provides a mock function with given fields: layerid
func (*MockLayers) GetAll ¶
func (_m *MockLayers) GetAll() ([]*Layer, error)
GetAll provides a mock function with given fields:
type MockObject ¶
func (*MockObject) Bounds ¶
func (_m *MockObject) Bounds() *vec3.Box
Bounds provides a mock function with given fields:
func (*MockObject) GeometryData ¶
func (_m *MockObject) GeometryData() []byte
GeometryData provides a mock function with given fields:
func (*MockObject) ID ¶
func (_m *MockObject) ID() int64
ID provides a mock function with given fields:
func (*MockObject) LayerID ¶
func (_m *MockObject) LayerID() int64
LayerID provides a mock function with given fields:
func (*MockObject) Metadata ¶
func (_m *MockObject) Metadata() interface{}
Metadata provides a mock function with given fields:
func (*MockObject) SceneID ¶
func (_m *MockObject) SceneID() int64
SceneID provides a mock function with given fields:
func (*MockObject) WorldID ¶
func (_m *MockObject) WorldID() int64
WorldID provides a mock function with given fields:
type MockObjects ¶
func (*MockObjects) Add ¶
func (_m *MockObjects) Add(o Object) (int64, error)
Add provides a mock function with given fields: o
func (*MockObjects) GetAll ¶
func (_m *MockObjects) GetAll() (<-chan Object, <-chan error)
GetAll provides a mock function with given fields:
type MockScenes ¶
func (*MockScenes) Add ¶
func (_m *MockScenes) Add(scene *Scene) (int64, error)
Add provides a mock function with given fields: scene
func (*MockScenes) Delete ¶
func (_m *MockScenes) Delete(sceneid int64) error
Delete provides a mock function with given fields: sceneid
func (*MockScenes) Get ¶
func (_m *MockScenes) Get(id int64) (*Scene, error)
Get provides a mock function with given fields: id
func (*MockScenes) GetAll ¶
func (_m *MockScenes) GetAll() ([]*Scene, error)
GetAll provides a mock function with given fields:
type MockWorlds ¶
func (*MockWorlds) Add ¶
func (_m *MockWorlds) Add(world *World) (int64, error)
Add provides a mock function with given fields: world
func (*MockWorlds) Delete ¶
func (_m *MockWorlds) Delete(worldid int64) error
Delete provides a mock function with given fields: worldid
func (*MockWorlds) Get ¶
func (_m *MockWorlds) Get(id int64) (*World, error)
Get provides a mock function with given fields: id
func (*MockWorlds) GetAll ¶
func (_m *MockWorlds) GetAll() ([]*World, error)
GetAll provides a mock function with given fields:
type Object ¶
type Object interface {
// ID returns an unique ID of the object
ID() int64
// WorldID returns the ID of the world the object 'lives' in
WorldID() int64
// LayerID returns the ID of the layer the object is a part of
LayerID() int64
// SceneID returns the ID of the scene the object is a part of
SceneID() 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 ObjectSelector ¶
type ObjectSelector interface {
CreateWhereClause() (string, []interface{})
}
type Objects ¶
type Objects interface {
Add(o Object) (int64, error)
GetMany(ids []int64) (<-chan Object, <-chan error)
GetAll() (<-chan Object, <-chan error)
}
Objects represents a collection of geometric entities assosciated with a 'world'. Note that this collection holds all objects for all layers and scenes in a world. To restrict the result from the queries to only include certain layers and/or scenes 'ObjectSelector's can be used.
type Scene ¶
Scene represents a set of geometric objects in a 'layer'. Scenes is the smallest updatable entity - to add or update geometric objects an entire scene must be added/updated.
type Scenes ¶
type Scenes interface {
// GetAll returns all scenes in a layer.
GetAll() ([]*Scene, error)
// Get returns the scene with the given ID.
Get(id int64) (*Scene, error)
// Add creates a new scene in the database and returns the ID.
Add(scene *Scene) (int64, error)
// Delete deletes the scene with the given ID from the database.
Delete(sceneid int64) error
}
Scenes contains functionality for adding and deleting scenes of a layer.
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) LayerID ¶
func (o *SimpleObject) LayerID() int64
func (*SimpleObject) Metadata ¶
func (o *SimpleObject) Metadata() interface{}
func (*SimpleObject) SceneID ¶
func (o *SimpleObject) SceneID() int64
func (*SimpleObject) WorldID ¶
func (o *SimpleObject) WorldID() int64
type World ¶
World represents collection of data that relates to each other, but not necessarily to data in other worlds. A world consists of many 'layers' - e.g. buildings, roads, landscape etc.
type Worlds ¶
type Worlds interface {
// GetAll returns all known 'worlds'.
GetAll() ([]*World, error)
// Get returns the world with the given ID.
Get(id int64) (*World, error)
// Add adds a new world and returns the ID
// of the world. The ID field provided world is also
// updated.
Add(world *World) (int64, error)
// Delete deletes the world with the given ID.
Delete(worldid int64) error
}
Worlds is an interface for retrieving worlds which contains 'layers' which in turn contains 'scenes' of geometric objects.