abstract class Tinman.Engine.Scenes.Util.TerrainTransform

Abstract base class for ITerrainTransform implementations.

If a subclass depends on the current mesh version (for example by using VerticalType.HeightMesh), it should override the VersionedBase.VersionAggregated property and include the value of VersionMesh in the computation.

Protected / Constructors


protected constructor TerrainTransform → ()

Creates a new instance of TerrainTransform.

Protected / Methods


protected method AssertBound → (1)

source in : string

Error source tag.

Asserts that this object is currently bound to a IMesh.


protected abstract method ComputeTransform → ()

returns → AffineTransform

The computed affine transformation.

Computes the affine transform to return from ITerrainTransform.Transform.

When this method is called, IMeshBound.HasMesh will always return true, unless ITerrainTransform.NeedsMesh is false.


protected virtual method DoMeshBind → (1)

mesh in : IMesh

The mesh.

Called when this ITerrainTransform has been bound to a IMesh.


If the given mesh in does not provide all data that is required by this object.


protected virtual method DoMeshUnbind → ()

Called when this ITerrainTransform has been unbound from its IMesh.

Protected / Attributes


protected attribute Geometry → (get)

value : IGeometry

The current IGeometry object or null iff not bound.

The IGeometry object of the currently bound IMesh.


protected attribute Heightmap → (get)

value : IHeightmap

The current IHeightmap object or null iff not bound.

The IHeightmap object of the currently bound IMesh.


protected attribute VersionMesh → (get)

value : int32

The mesh version or 0.

Returns the current IVersioned.Version of the currently bound IMeshBound.Mesh if not null and ITerrainTransform.NeedsMesh returns true. Otherwise, 0 is returned.