Table of Contents

Class StaticBatchedGeometryBoundsOctree

Namespace
HelixToolkit.SharpDX.Utilities
Assembly
HelixToolkit.SharpDX.dll

Octree for batched geometry array

public class StaticBatchedGeometryBoundsOctree : StaticOctree<KeyValuePair<int, BoundingBox>>, IOctreeBasic
Inheritance
StaticBatchedGeometryBoundsOctree
Implements
Inherited Members

Constructors

StaticBatchedGeometryBoundsOctree(BatchedMeshGeometryConfig[], OctreeBuildParameter)

Initializes a new instance of the StaticInstancingModelOctree class.

public StaticBatchedGeometryBoundsOctree(BatchedMeshGeometryConfig[] geometries, OctreeBuildParameter parameter)

Parameters

geometries BatchedMeshGeometryConfig[]

Batched geometries.

parameter OctreeBuildParameter

The parameter.

Fields

Geometries

protected readonly BatchedMeshGeometryConfig[] Geometries

Field Value

BatchedMeshGeometryConfig[]

GeometryBound

protected readonly BoundingBox[] GeometryBound

Field Value

BoundingBox[]

Methods

FindNearestPointBySphereExcludeChild(ref Octant, HitTestContext?, ref BoundingSphere, ref List<HitTestResult>, ref bool)

Finds the nearest point by sphere exclude child.

protected override bool FindNearestPointBySphereExcludeChild(ref StaticOctree<KeyValuePair<int, BoundingBox>>.Octant octant, HitTestContext? context, ref BoundingSphere sphere, ref List<HitTestResult> points, ref bool isIntersect)

Parameters

octant StaticOctree<KeyValuePair<int, BoundingBox>>.Octant

The octant.

context HitTestContext

The context.

sphere BoundingSphere

The sphere.

points List<HitTestResult>

The points.

isIntersect bool

if set to true [is intersect].

Returns

bool

GetBoundingBoxFromItem(ref KeyValuePair<int, BoundingBox>)

Gets the bounding box from item.

protected override BoundingBox GetBoundingBoxFromItem(ref KeyValuePair<int, BoundingBox> item)

Parameters

item KeyValuePair<int, BoundingBox>

The item.

Returns

BoundingBox

GetMaxBound()

Gets the maximum bound.

protected override BoundingBox GetMaxBound()

Returns

BoundingBox

GetObjects()

Gets the objects.

protected override KeyValuePair<int, BoundingBox>[] GetObjects()

Returns

KeyValuePair<int, BoundingBox>[]

HitTestCurrentNodeExcludeChild(ref Octant, HitTestContext?, object?, Geometry3D?, Matrix4x4, ref Ray, bool, ref List<HitTestResult>, ref bool, float)

Hits the test current node exclude child.

protected override bool HitTestCurrentNodeExcludeChild(ref StaticOctree<KeyValuePair<int, BoundingBox>>.Octant octant, HitTestContext? context, object? model, Geometry3D? geometry, Matrix4x4 modelMatrix, ref Ray rayModel, bool returnMultiple, ref List<HitTestResult> hits, ref bool isIntersect, float hitThickness)

Parameters

octant StaticOctree<KeyValuePair<int, BoundingBox>>.Octant

The octant.

context HitTestContext

The context.

model object

The model.

geometry Geometry3D
modelMatrix Matrix4x4

The model matrix.

rayModel Ray

The ray model.

returnMultiple bool
hits List<HitTestResult>

The hits.

isIntersect bool

if set to true [is intersect].

hitThickness float

The hit thickness.

Returns

bool