IScene

Description

interface Tinman.Engine.Scenes.IScene

Represents a high-level API for animated 3D-scenes that are based on a terrain.

Access to scene functionality is provided by a hierarchy of interfaces and classes. As best practice, at a specific location in the code, the type with the highest generalization should be used:

  • IScene
    General purpose scene management, not including callbacks for application loop integration.

  • Scene
    Implementation class that provides access to the callback for application loop integration.

See also

SceneOptions

Public / Methods

AtlasId


public method AtlasId → (1)

atlasId in : string

[not-empty]
The texture atlas ID.

returns → int32

The cache ordinal. Will be -1 iff not found.

Returns the ordinal for the given texture atlas ID.

CacheId


public method CacheId → (1)

cacheId in : string

[not-empty]
The cache ID.

returns → int32

The cache ordinal. Will be -1 iff not found.

Returns the ordinal for the given cache ID.

ClearDatasetCache


public method ClearDatasetCache → ()

Clears the dataset cache, if configured.

IOException

If an I/O error has occurred.

ClearImageryCache


public method ClearImageryCache → ()

Clears the imagery cache, if configured.

IOException

If an I/O error has occurred.

ClearTextureCache


public method ClearTextureCache → ()

Clears the texture cache, if configured.

IOException

If an I/O error has occurred.

Evict


public method Evict → (1)

resource in : IResourceHandle

The resource handle that shall be evicted.

The given resource is no longer used and may be evicted from all GPU caches.

It is not necessary to call this method. However, if it is considered best practice that all scene entities tell their scene when a resource will never be used again, so that cleanup can be performed up-front.

Transform

3 overloads


[Pure]
public method Transform1 → (4)

coordinates in : string

The geographic coordinates, see LatLon.ToString2.

heading opt : float64 = 0

The geographic heading of the positive Z-axis in local-space.

vertical opt : float64 = 0

The vertical coordinate.

verticalType opt : VerticalType = VerticalType.HeightMesh

The vertical coordinate type.

returns → AffineTransform

The transformation.

Computes a transformation matrix from the given local-space to terrain-space.

ValidatingException

If the given coordinates in input string is invalid.


[Pure]
public method Transform2 → (4)

coordinates in : LatLon

The geographic coordinates.

heading opt : float64 = 0

The geographic heading of the positive Z-axis in local-space.

vertical opt : float64 = 0

The vertical coordinate.

verticalType opt : VerticalType = VerticalType.HeightMesh

The vertical coordinate type.

returns → AffineTransform

The transformation.

Computes a transformation matrix from the given local-space to terrain-space.


[Pure]
public method Transform3 → (2)

coordinates in : LatLonHeight

The geographic coordinates.

heading opt : float64 = 0

The geographic heading of the positive Z-axis in local-space.

returns → AffineTransform

The transformation.

Computes a transformation matrix from the given local-space to terrain-space.

Public / Attributes

Correction


[Constant]
public attribute Correction → (get)

value : CorrectionLayer

[not-null]
The terrain corrections.

The terrain corrections.

DatasetCache


[Constant]
public attribute DatasetCache → (get)

value : DatasetFileCache

The dataset file cache or null if none.

Returns the dataset file cache.

The cache will never be in read-only mode (see DatasetFileCache.IsReadOnly).

Entities


[Constant]
public attribute Entities → (get)

value : IVectorConst<ISceneEntity>

[not-null]
The scene entities.

Returns the entities that are currently attached to this scene.

This is a flat list that contains all scene entities, including those that have been added implicitly to the scene via SceneEntity objects. It is sorted in ascending order, according to the ISceneObject.Order values of the contained scene entities.

Geocentric


[Constant]
public attribute Geocentric → (get)

value : Geocentric

[not-null]
The Geocentric.

The Geocentric helper object, as returned by TerrainMesh.Geocentric.

ImageryCache


[Constant]
public attribute ImageryCache → (get)

value : PyramidFileCache

The imagery tile cache or null if none.

Returns the imagery tile cache.

The value of PyramidFileCache.IsReadOnly may be specified at creation time, by setting SceneOptions.ImageryCacheOptions to null.

Setting PyramidFileCache.Locked to true will prevent accesses to the underlying IPixelPyramid objects. This can be used to avoid billable transactions at a streaming provider such as GoogleMaps or BingMaps.

Terrain


[Constant]
public attribute Terrain → (get)

value : TerrainMesh

[not-null]
The terrain mesh object.

The terrain mesh of this scene.

TextureCache


[Constant]
public attribute TextureCache → (get)

value : PyramidFileCache

The texture tile cache or null if none.

Returns the texture tile cache.

The PyramidFileCache.Locked property of the texture file cache should not be set to true.

Views


[Constant]
public attribute Views → (get)

value : IVectorConst<SceneView>

[not-null]
The scene views.

Returns the views that have been created on this scene.

World


[Constant]
public attribute World → (get)

value : ICameraWorld

[not-null]
The camera world.

Returns an ICameraWorld object for this Scene.

The returned object will use spatial queries based on ISceneQueryProvider.QueryDistance and SceneQueryOp.ForRay, which take a spatial query filter mask as a parameter. The parameter value will be taken from WorldMask.

See also

IScene.WorldMask

WorldMask


public attribute WorldMask → (get,set)

value : int64

The spatial query filter mask.

The spatial query filter mask to use for World.

Defaults to ~0.