ISceneDataNode

Description

interface Tinman.Engine.Scenes.Data.ISceneDataNode

Base interface for classes that represent a node in a hierarchical scene database, see ISceneData.

Each ISceneDataNode object represents a node in a hierarchical scene database and may have zero or more children and content items. To traverse the hierarchy, use the following members:

To access the content items, use these members:

The geo-reference information in a hierarchy of ISceneDataNode objects is defined by these properties:

These members manage view-dependent visibility determination and level-of-detail handling:

Public / Methods

Child​At


public method ChildAt → (1)

index in : int32

[0..ISceneDataNode.ChildCount-1]
The child index.

returns → ISceneDataNode

The child node.

Returns the index in-th child of this scene database node.

IOException

If an I/O error has occurred.

Content​At


public method ContentAt → (1)

index in : int32

[0..ISceneDataNode.ContentCount-1]
The content index.

returns → ISceneDataContent

The content item.

Returns the index in-th content item of this scene database node.

IOException

If an I/O error has occurred.

Visibility2​D


public method Visibility2D → (1)

transform in : Mat23D

The transformation from map-space (defined by GeorefProjected) to screen-space, defined as:
(0|0) : top-left corner of top-left pixel in viewport
(w|h) : bottom-right corner of bottom-right pixel in viewport
where w and h depict the size of the viewport in screen-space.

returns → Vec2D

Vec2D.X : the relative visibility of this scene database node,
Vec2D.Y : the relative visibility of the parent node.

Computes the visibility of this scene database node.

Visibility3​D


public method Visibility3D → (2)

viewport in : Viewport

[not-null]
The viewport properties.

transform in : AffineTransform

The transformation matrix from 3D world-space (defined by Geocentric.For1 for GeorefDatum and the GeorefLocal values along the hierarchy) to viewport-space (right-handed, i.e. the Z+ axis points towards the point of view).

returns → Vec2D

Vec2D.X : the relative visibility of this scene database node,
Vec2D.Y : the relative visibility of the parent node.

Computes the visibility of this scene database node.

Public / Attributes

Bounds


public attribute Bounds → (get)

value : ISceneDataBounds

[not-null]
The spatial bounds.

Returns the spatial bounds of this scene database node.

Child​Count


public attribute ChildCount → (get)

value : int32

[>=0]
The number of child nodes.

Returns the number of child nodes this scene database node has.

Content​Count


public attribute ContentCount → (get)

value : int32

[>=0]
The number of content items.

Returns the number of content items this scene database node has.

Content​Flags


public attribute ContentFlags → (get)

value : SceneDataFlags

The combined scene data flags.

The combined scene data flags of the content items of this scene database node.

Georef​Datum


public attribute GeorefDatum → (get)

value : GeodeticDatum

The geodetic datum or null if none.

Returns the geodetic datum of this ISceneDataNode object.

If GeorefDatum is not null, all descendent ISceneDataNode objects will return a GeodeticDatum object that is equal but not necessarily the same. If null is returned, all ancestors will return null as well.

Georef​Geographic


public attribute GeorefGeographic → (get)

value : CoordinateSystem

The geographic coordinate system or null if none.

Returns the geographic coordinate system of this ISceneDataNode object.

If GeorefDatum is null, this property will always return null, too. Otherwise, CoordinateSystem.Geographic will be equal to GeorefDatum and all descendent ISceneDataNode objects will return a CoordinateSystem object that is equal but not necessarily the same. If null is returned, all ancestors will return null as well.

Georef​Local


public attribute GeorefLocal → (get)

value : AffineTransform

[not-null]
The terrain transform that defines the local coordinate system.

Returns the transformation that establishes the local coordinate system of this scene database node.

The AffineTransform transforms the local coordinate system of this scene database node to the one of its parent. If Parent is null, the parent coordinate system is the geocentric coordinate system that is established by Geocentric.For1 with GeorefDatum.

Georef​Projected


public attribute GeorefProjected → (get)

value : CoordinateSystem

The projected coordinate system or null if none.

Returns the projected coordinate system of this ISceneDataNode object.

If GeorefGeographic is null, this property will always return null, too. Otherwise, CoordinateSystem.ToGeographic will be equal to GeorefGeographic and all descendent ISceneDataNode objects will return a CoordinateSystem object that is equal but not necessarily the same. If null is returned, all ancestors will return null as well.

Parent


[Constant]
public attribute Parent → (get)

value : ISceneDataNode

The parent node or null iff this node is the root.

The parent scene database node or null.