struct Tinman.Terrain.Util.SpatialTandem
<TTreeFirst : SpatialTree_Entity<TBounds, TCoords, TEntityFirst>>
<TTreeSecond : SpatialTree_Entity<TBounds, TCoords, TEntitySecond>>
<TEntityFirst val>
<TEntitySecond val>
<TBounds val>
<TCoords val>
<TTandemBoundsTrait val : ISpatialTandemBoundsTrait<TBounds, TCoords, TTransform, TResult>>
<TTandemEntityTrait val : ISpatialTandenEntityTrait<TTransform, TResult, TEntityFirst, TEntitySecond>>
<TTandemResultTrait val : ISpatialTandemResultTrait<TResult>>
<TTransform val>
<TResult val>

Performs tandem-traversal of a pair of spatial trees.

Public / Constructors


public constructor SpatialTandem → (7)

first in : TTreeFirst

The first spatial tree.

second in : TTreeSecond

The second spatial tree.

traitTandemEntity in : TTandemEntityTrait

The tandem traversal entity trait.

transform in : TTransform

The transformation from first in to second in.

minimum in : TResult

The minimum result value to return.

tolerance in : TResult

The result value tolerance.

callback in : ISpatialCallback

The spatial callback or null.

Creates a new instance of this structure.

Public / Methods


public method Traverse → (3)

maximum in : TResult

The current maximum distance.

nodeFirst opt : int32 = 0

Node index of first tree.

nodeSecond opt : int32 = 0

Node index of second tree.

returns → TResult

The resulting maximum distance in the range [minimum..maximum in].

Performs tandem-traversal.