sealed class Tinman.Engine.Scenes.Util.LocalTransform

Derived from

TerrainTransform abstract

A ITerrainTransform that transforms from a local coordinate system to terrain-space.

The local coordinate system axes are defined as follows:

  • X+
    Aligned with terrain side-vector at the given coordinates.
    side = cross(up, north).
    The side vector points westwards for CartesianHandedness.RightHanded and eastwards for CartesianHandedness.LeftHanded.

  • Y+
    Aligned with terrain up-vector at the given coordinates.

  • Z+
    Perpendicular to side-vector and up-vector, pointing northwards.

This is the same local coordinate system as the one created by IGeometry.ComputeLocal2. For the right-handed case, the local coordinate system also corresponds to the one defined for top-level IModel objects.

Public / Constructors


public constructor LocalTransform → ()

Creates a new instance of LocalTransform.

Public / Attributes


public attribute Elevation → (get,set)

value : float64

Terrain-space elevation of coordinate system origin.

Terrain-space elevation of the origin of the local coordinate system.

Defaults to 0.


public attribute Origin → (get,set)

value : Vec3D

Heightmap coordinates of coordinate system origin (relative to HeightmapsUtil.MaxSize).

Heightmap coordinates of the origin of the local coordinate system.

Defaults to Vec3D.Zero.


public attribute Scale → (get,set)

value : float64

The scale factor.

Scale factor from model units to terrain units.

Defaults to 1.