Assembly: VRage.Math.dll

public class MyDynamicAABBTree

Dynamic aabb tree implementation as a prunning structure

Fields

Member Description
static NullNode A dynamic tree arranges data in a binary tree to accelerate queries such as volume queries and ray casts. Leafs are proxies with an BoundingBox. In the tree we expand the proxy BoundingBox by Settings.b2_fatAABBFactor so that the proxy BoundingBox is bigger than the client object. This allows the client object to move by small amounts without triggering a tree update. Nodes are pooled and relocatable, so we use node indices rather than pointers.

Properties

Member Description
Leaves
Nodes

Constructors

Member Description
MyDynamicAABBTree()
MyDynamicAABBTree(Vector3, float)

Methods

Member Description
static Dispose()
AddProxy(ref BoundingBox, object, uint, bool) Create a proxy. Provide a tight fitting BoundingBox and a userData pointer.
Balance(int)
Clear()
CountLeaves(int)
GetAabb(int)
GetAll(List, bool, List)
GetAllNodeBounds(List)
GetChildren(int, out int, out int)
GetFatAABB(int, out BoundingBox) Get the fat BoundingBox for a proxy.
GetHeight()
GetLeafCount()
GetLeafCount(int)
GetNodeLeaves(int, List)
GetRoot()
GetUserData(int)
MoveProxy(int, ref BoundingBox, Vector3) Move a proxy with a swepted BoundingBox. If the proxy has moved outside of its fattened BoundingBox, then the proxy is removed from the tree and re-inserted. Otherwise the function returns immediately.
OverlapAllBoundingBox(ref BoundingBox, List, uint, bool)
OverlapAllBoundingSphere(ref BoundingSphere, List, bool)
OverlapAllFrustum(ref BoundingFrustum, List, bool)
OverlapAllFrustum(ref BoundingFrustum, List, uint, bool)
OverlapAllFrustum(ref BoundingFrustum, List, List, bool)
OverlapAllFrustum(ref BoundingFrustum, Action<T, bool>)
OverlapAllFrustum<T, Op>(ref BoundingFrustum, ref Op)
OverlapAllFrustum(ref BoundingFrustum, List, List, float, bool)
OverlapAllFrustum(ref BoundingFrustum, Action<T, bool>, float)
OverlapAllFrustum<T, Op>(ref BoundingFrustum, float, ref Op)
OverlapAllFrustumAny(ref BoundingFrustum, List, bool)
OverlapAllFrustumConservative(ref BoundingFrustum, List, uint, bool)
OverlapAllLineSegment(ref Line, List<MyLineSegmentOverlapResult>)
OverlapAllLineSegment(ref Line, List<MyLineSegmentOverlapResult>, uint)
OverlapsAnyLeafBoundingBox(ref BoundingBox)
OverlapSizeableClusters(ref BoundingBox, List, double)
Query(Func<int, bool>, ref BoundingBox)
RemoveProxy(int) Destroy a proxy. This asserts if the id is invalid.