TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

interface IMesh in Tinman.Terrain.Kernel

Base interface for continuous level-of-detail terrain meshes.

interface IMesh extends IDisposable
  IVersioned
  base of IMeshDynamic

Remarks

The terrain mesh version (see Version) is incremented during MeshUpdate if the mesh structure has changed.

Attributes

Geometry

The IGeometry object this terrain mesh uses.

property Geometry { get }
type IGeometry
value [not-null] The geometry object.

Remarks:

The geometry object is used to compute actual vertex data from the terrain data that has been gathered from the heightmap.

See also:

Heightmap

Heightmap

The heightmap of this terrain mesh.

property Heightmap { get }
type IHeightmap
value [not-null] The heightmap.

Remarks:

The heightmap delivers terrain data, such as elevation and diffuse color.

See also:

Geometry

IsReady

Is this terrain mesh ready for traversal and triangulation?

property IsReady { get }
type bool
value true if this mesh is ready, false if not.

Remarks:

When a mesh is not ready yet, calling GetRoot will always return Null.

LifecycleState

Returns the lifecycle state of this object.

property LifecycleState { get }
type LifecycleState
value The lifecycle state.
inherited ILifecycleState.LifecycleState

TaskGroup

The task group that is used by this mesh for background computations.

property TaskGroup { get }
type TaskGroup
value [not-null] The task group.

Tree

Returns the mesh quadtree object which can be used during traversals.

property Tree { get }
type MeshTree
value [not-null] The mesh structure helper object.

Remarks:

Each mesh face (see CubemapFace) represents the root of a quadtree structure. During mesh traversal (via the IMeshTraversal), the MeshTree object provides access to the underlying quadtree structure.

Triangulator

Return the Triangulator object to use for mesh triangulation.

property Triangulator { get }
type Triangulator
value [not-null] The Triangulator instance.

Version

Returns the current version of object.

property Version { get }
type int32
value The current version number.
inherited IVersioned.Version

Remarks:

For each modification, the version is incremented by at least one.

Vertices

Returns the CPU vertex data collection of this terrain mesh.

property Vertices { get }
type VertexArrays
value [not-null] The vertex data collection.

Remarks:

All meshes created by a single MeshBuffer share the same vertex data collection.

Methods

AcquireTry

Acquires a strong reference to this disposable object.

[OwnerReturn, ThreadSafe]
method AcquireTry ()
type IDisposable
returns this if a new strong reference has been acquired, null if this object is already being disposed.
inherited IDisposable.AcquireTry

Remarks:

The object will not be actually disposed by calls to Dispose when there is at least one strong reference left. Code that calls the AcquireTry method is responsible for calling the Dispose method accordingly.

This method is not intended to be used in performance-critical code. It should only be used to high-level resource management.

Dispose

Releases all resources held by this object if there are no more strong references to it, decrements the reference counter by one otherwise.

[Dispose, OwnerThis, ThreadSafe]
method Dispose ()
inherited IDisposable.Dispose

Remarks:

The Dispose method silently returns if the object has already been disposed.