sealed class Tinman.Engine.Scenes.Data.GeoPathTessellator

Helper class for tessellating a IGeoPathBase into line-segments.

Each GeoPathTessellator object maintains a sorted list of geo path timestamps (see Timestamps) which represent the current tessellation. By calling the tessellation methods successively, the current tessellation is modified:

Public / Constructors


public constructor GeoPathTessellator → (2)

geoPath in : IGeoPathBase

The geo path to tessellate.

geocentric opt : Geocentric = null

The Geocentric helper object to use. If null, a new one will be created with Geocentric.For1, passing IGeoPathBase.Datum.

Creates a new instance of GeoPathTessellator.

Public / Methods


public method Reset → ()

Resets the current tessellation by clearing Timestamps.


public method Tessellate → (1)

range opt : RangeD = default(RangeD)

The geo path timestamp range to tessellate (see GeoPathSample.Timestamp). Set to RangeD.Zero to tessellate the whole geo path.

Tessellates the geo path according to the current error metrics.

The resulting geo path timestamp values will be added to Timestamps.


public method Ticks → (3)

first in : float64

Timestamp value of first tick to add (GeoPathSample.Timestamp).

step in : float64

Spacing between timestamp values.

range opt : RangeD = default(RangeD)

Optional range where to generate ticks. Set to RangeD.Zero to add ticks for the whole geo path.

Adds a sequence of evenly spaced timestamp values to the tessellation.


public method ToGeometry → (1)

curtain opt : float64 = Maths.MaxDouble

The bottom-most ellipsoid height of the geo path curtain (i.e. vertical planes). If Maths.MaxDouble, no curtain geometry will be created.

returns → IModelGeometrySimple

The created model geometry of null iff this geo path tessellation is empty.

Creates 3D model geometry for this geo path tessellation.

Public / Attributes


public attribute MaximumError → (get,set)

value : float64

The maximum error, given in the coordinate system of the geocentric frame of the geo path (see IGeoPathBase.Datum).

The maximum error to tolerate in the generated tessellation: use this metric to remove unnecessary detail.

Defaults to 0.


public attribute MaximumSegments → (get,set)

value : float64

The maximum number of segments (i.e. number of generated timestamp values minus one).

The maximum number of timestamp values to generated for the tessellation; use this metric to limit the maximum detail.

Defaults to 65536.


public attribute Timestamps → (get)

value : IArrayVector<float64>

The timestamps of the tessellation (strict monotonically increasing).

Returns the list that contains the resulting timestamps of the last call to Tessellate.


public attribute Variance → (get,set)

value : bool

The variance value.

The value to pass to LatLonHeight.ToVariance, before computing geocentric coordinates for tessellation.

Defaults to false.