Class InstancingModel3DOctree
- Namespace
- HelixToolkit.SharpDX
- Assembly
- HelixToolkit.SharpDX.dll
Octree for instancing
[Obsolete("Please use StaticInstancingOctree for better performance")]
public class InstancingModel3DOctree : DynamicOctreeBase<KeyValuePair<int, BoundingBox>>, IDynamicOctree, IOctreeBasic
- Inheritance
-
InstancingModel3DOctree
- Implements
- Inherited Members
- Extension Methods
Constructors
InstancingModel3DOctree(ref BoundingBox, IList<Matrix4x4>, List<KeyValuePair<int, BoundingBox>>?, IDynamicOctree?, OctreeBuildParameter?, Stack<KeyValuePair<int, IDynamicOctree[]>>?)
protected InstancingModel3DOctree(ref BoundingBox bound, IList<Matrix4x4> instanceMatrix, List<KeyValuePair<int, BoundingBox>>? objects, IDynamicOctree? parent, OctreeBuildParameter? parameter, Stack<KeyValuePair<int, IDynamicOctree[]>>? stackCache = null)
Parameters
boundBoundingBoxinstanceMatrixIList<Matrix4x4>objectsList<KeyValuePair<int, BoundingBox>>parentIDynamicOctreeparameterOctreeBuildParameterstackCacheStack<KeyValuePair<int, IDynamicOctree[]>>
InstancingModel3DOctree(IList<Matrix4x4>, BoundingBox, OctreeBuildParameter?, Stack<KeyValuePair<int, IDynamicOctree[]>>?)
public InstancingModel3DOctree(IList<Matrix4x4> instanceMatrix, BoundingBox geometryBound, OctreeBuildParameter? parameter, Stack<KeyValuePair<int, IDynamicOctree[]>>? stackCache = null)
Parameters
instanceMatrixIList<Matrix4x4>geometryBoundBoundingBoxparameterOctreeBuildParameterstackCacheStack<KeyValuePair<int, IDynamicOctree[]>>
Methods
CreateNodeWithParent(ref BoundingBox, List<KeyValuePair<int, BoundingBox>>, IDynamicOctree)
protected override IDynamicOctree CreateNodeWithParent(ref BoundingBox bound, List<KeyValuePair<int, BoundingBox>> objList, IDynamicOctree parent)
Parameters
boundBoundingBoxobjListList<KeyValuePair<int, BoundingBox>>parentIDynamicOctree
Returns
FindNearestPointBySphereExcludeChild(HitTestContext?, ref BoundingSphere, ref List<HitTestResult>, ref bool)
public override bool FindNearestPointBySphereExcludeChild(HitTestContext? context, ref BoundingSphere sphere, ref List<HitTestResult> points, ref bool isIntersect)
Parameters
contextHitTestContextsphereBoundingSpherepointsList<HitTestResult>isIntersectbool
Returns
GetBoundingBoxFromItem(KeyValuePair<int, BoundingBox>)
protected override BoundingBox GetBoundingBoxFromItem(KeyValuePair<int, BoundingBox> item)
Parameters
itemKeyValuePair<int, BoundingBox>
Returns
HitTestCurrentNodeExcludeChild(HitTestContext?, object?, Geometry3D?, Matrix4x4, ref Ray, ref List<HitTestResult>, ref bool, float)
public override bool HitTestCurrentNodeExcludeChild(HitTestContext? context, object? model, Geometry3D? geometry, Matrix4x4 modelMatrix, ref Ray rayModel, ref List<HitTestResult> hits, ref bool isIntersect, float hitThickness)
Parameters
contextHitTestContextmodelobjectgeometryGeometry3DmodelMatrixMatrix4x4rayModelRayhitsList<HitTestResult>isIntersectboolhitThicknessfloat