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

class MeshTraversal in Tinman.Terrain.Meshing

Abstract base class for IMeshTraversal implementations.

abstract class MeshTraversal implements IMeshTraversal
  extends MeshBoundBase
  base of Batching
  Chunking
  ConeCulling
  Decaling
  DistanceCulling
  DistanceToGround
  FrustumCulling
  HorizonCulling
  Picking
  Planting
  Regions
  TerrainBounds
  Texturing
  Triangulation

Public / Attributes

FilterIn

The mesh tree input filter to use for querying sector culling and marks.

public property FilterIn { get set }
type MeshTreeFilter
value The filter or null.
implements IMeshTraversal.FilterIn

Remarks:

The default value is null (i.e. all mesh sectors are visited).

See also:

MeshTree.GetRoot
MeshTree.GetChild
MeshTree.GetDown

FilterOut

The mesh tree output filter to use for performing sector culling and marking.

public property FilterOut { get set }
type MeshTreeFilter
value The mesh tree filter object.
implements IMeshTraversal.FilterOut

Remarks:

This MeshTreeFilter is not reset automatically. The application is responsible to call Reset.

The default value is null (i.e. the input filter is used in that case).

See also:

MeshTree.SectorCull
MeshTree.SectorMark
MeshTree.SectorMarkRoots

HasMesh

Has this object been bound to an IMesh object?

public property HasMesh { get }
type bool
value true if this object is currently bound to an IMesh, false if not.
inherited MeshBoundBase.HasMesh

Mesh

The CLOD mesh this object is currently bound to.

public property Mesh { get }
type IMesh
value The CLOD mesh or null.
inherited MeshBoundBase.Mesh

Tree

The filtered MeshTree of this mesh traversal object.

public property Tree { get }
type MeshTree
value [not-null] The filtered MeshTree object or null if this object is not bound.
implements IMeshTraversal.Tree

Public / Methods

MeshBind

Binds this object to the given IMesh.

public override method MeshBind (IMesh mesh)
params mesh The mesh object.
overrides MeshBoundBase.MeshBind

MeshUnbind

Unbinds this object from its current IMesh.

public virtual method MeshUnbind ()
inherited MeshBoundBase.MeshUnbind

VisitFaces

Visits the given mesh root sectors.

public method VisitFaces (CubemapFace meshFace = CubemapFace.All)
params meshFace The mesh face to traverse. Defaults to All.
implements IMeshTraversal.VisitFaces

VisitQuadrant

Visits a quadrant of the given mesh sector on the current face, assuming that the corresponding child mesh sector does not exist.

public abstract method VisitQuadrant (int32 sector, int32 childIdx)
params sector Index of center vertex of sector to visit.
  childIdx Index of non-existing child sector in sector.
implements IMeshTraversal.VisitQuadrant

Remarks:

The quadtree data structure for visiting the given sector can be obtained by getting the Tree property of the current mesh (see MeshBind.

VisitSector

Visits the given mesh sector on the current face.

public abstract method VisitSector (int32 sector)
params sector Index of center vertex of sector to visit.
implements IMeshTraversal.VisitSector

Remarks:

The quadtree data structure for visiting the given sector can be obtained by getting the Tree property of the current mesh (see MeshBind.

Protected / Attributes

face

The current cubemap face.

protected field face
type CubemapFace

faceFirst

First valid cubemap face of currently bound mesh (inclusive).

protected field faceFirst
type CubemapFace
inherited MeshBoundBase.faceFirst

See also:

MeshBoundBase.MeshBind

faceLast

Last valid cubemap face of currently bound mesh (inclusive).

protected field faceLast
type CubemapFace
inherited MeshBoundBase.faceLast

See also:

MeshBoundBase.MeshBind

filterIn

Optional mesh tree filter to use.

protected field filterIn
type MeshTreeFilter

filterOut

The output mesh tree filter object (will never be null).

protected field filterOut
type MeshTreeFilter

mesh

The currently bound IMesh object.

protected field mesh
type IMesh
inherited MeshBoundBase.mesh

See also:

MeshBoundBase.MeshBind
MeshBoundBase.MeshUnbind

tree

The Tree of the currently bound IMesh object.

protected field tree
type MeshTree
inherited MeshBoundBase.tree

See also:

MeshBoundBase.MeshBind
MeshBoundBase.MeshUnbind

triangleFan

Helper array to use for Fan.

protected readonly field triangleFan
type int32[]

triangulator

The Triangulator object to use for mesh triangulation.

protected field triangulator
type Triangulator
inherited MeshBoundBase.triangulator

vertexArrays

The Vertices of the currently bound IMesh object.

protected field vertexArrays
type VertexArrays
inherited MeshBoundBase.vertexArrays

See also:

MeshBoundBase.MeshBind
MeshBoundBase.MeshUnbind

Protected / Constructors

MeshTraversal

Creates a new instance of MeshTraversal.

protected constructor MeshTraversal ()

Protected / Methods

ApplyFilter

protected method ApplyFilter ()

AssertBound

Asserts that this object is currently bound to an IMesh.

protected method AssertBound (string source)
params source Error source tag.
inherited MeshBoundBase.AssertBound

VisitChildren

Convenience method that calls VisitSector resp. VisitQuadrant for the four quadrants of the given mesh sector.

protected method VisitChildren (int32 sector)
params sector The mesh sector.

VisitFaceBegin

protected virtual method VisitFaceBegin (CubemapFace face)
type bool
params face

VisitFaceEnd

protected virtual method VisitFaceEnd (CubemapFace face)
params face