GeoPathEntity

Description

abstract class Tinman.Engine.Scenes.Entities.GeoPathEntity

Derived from

SceneEntityBase abstract
ITimestampRangeProperty

Extended by

GeoPathTrack sealed
GeoPathTrail sealed

Abstract base class for ISceneEntity implementations that generate scene content based on a IGeoPathBase.

For generating scene content, the effective timestamp range is used, which is defined as the intersection of ITimestampRangeProvider.TimestampRange of Path and ITimestampRangeProperty.TimestampRange of GeoPathEntity. The generated scene content will be updated automatically when the effective timestamp range changes.

Scene content may be generated in a background thread. The IsReady property indicates when this is the case.

Public / Attributes

Is​Ready


public abstract attribute IsReady → (get)

value : bool

true if background processing has finished,
false if the scene content is still being built by a background thread.

Has the background process that generates scene content finished?

Even when this property returns true, the current IGeoPathBase object in Path may be modified safely (for example, by calling ICollector.Add), because the background thread uses an independent copy, created with ICopyable.Copy.

Path


public attribute Path → (get,set)

value : IGeoPathBase

The geo path or null for none.

The geo path to use for generating the scene content.

Defaults to null.

Protected / Constructors

Geo​Path​Entity


protected constructor GeoPathEntity → (2)

callbackMask in : SceneObjectCallback

The value for ISceneObject.CallbackMask.

entityViewMask opt : int64 = -1

The value for IEntityViewMask.EntityViewMask.

Creates a new instance of GeoPathEntity.

Protected / Methods

Dirty​Geo​Path


protected abstract method DirtyGeoPath → (1)

timestampRange in : bool

true if ITimestampRangeProperty.TimestampRange has changed,
false if Path has changed.

This method is called when Path or ITimestampRangeProperty.TimestampRange has changed.

The SceneObject.DirtyStateCheck implementation of this class checks the timestamp range intersection of the geo path and this object and calls this method if it has changed.

Terrain​Mesh​Version


[Pure]
protected method TerrainMeshVersion → (1)

needsTerrainMesh in : bool

The result of NeedsTerrainMesh.

returns → int32

The terrain mesh version if needsTerrainMesh in is true or 0 otherwise.

Returns the effective terrain mesh version.

Protected / Attributes

Needs​Terrain​Mesh


protected virtual attribute NeedsTerrainMesh → (get)

value : bool

true if the geo path uses GeoPathValue.Height,
false if it does not.

Does the current geo path use height above terrain?

path


protected attribute path → (IGeoPathBase)

The geo path.

timestamp​Range


protected attribute timestampRange → (RangeD)

The timestamp range.