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

interface IVisibleCheck in Tinman.Terrain.Visibility

Base interface for classes that implement a visibility check for terrain mesh vertices.

interface IVisibleCheck extends IVertexArraysDependent
  base of VisibleCheck

Methods

Add

Adds the given visibility check to this one, so that a mesh vertex will be visible if at least one of both returns true.

[Pure]
method Add (IVisibleCheck check)
type IVisibleCheck
params check [not-null] The visibility check to add.
returns [not-null] The resulting visibility check.

See also:

Remove

Contains

Does this visible check contain the given one?

[Pure]
method Contains (IVisibleCheck check)
type bool
params check [not-null] The visible check.
returns true if check is contained, i.e. calling Add will return this.
false if check is not contained, i.e. calling Remove will return this.

IsVertexVisible

Computes whether the given vertex shall be visible in the terrain mesh or not.

[Pure]
method IsVertexVisible (int32 v, int32 g, int32 a, float64 thresholdSqr)
type bool
params v The vertex to check for visibility.
  g Grand-parent of v.
  a Ancestor vertex of v.
  thresholdSqr The tolerated squared terrain-space vertex error.
returns true if the squared terrain-space vertex error value is greater than thresholdSqr (i.e. the vertex will be visible in the terrain mesh), false if not (i.e. the vertex will be invisible).

Remarks:

This method will be called repeatedly only by the refinement thread of the MeshBuffer. Thus, as long as no other code is called it, thread-safe code is not required here.

Remove

Removes the given vertex visibility check from this one, so that a mesh vertex will only be visible if this one returns true.

[Pure]
method Remove (IVisibleCheck check)
type IVisibleCheck
params check [not-null] The visibility check to remove.
returns [not-null] The resulting visibility check.

See also:

Add

SetVertexArrays

Sets the vertex data containers from which this vertex converter shall read vertex data.

method SetVertexArrays (VertexArrays vertexArrays)
params vertexArrays [not-null] The vertex data collection.
inherited IVertexArraysDependent.SetVertexArrays