Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

VRageMath.MyDynamicAABBTreeD

Malware edited this page Jan 26, 2019 · 53 revisions

IndexNamespace Index

MyDynamicAABBTreeD Class

public class MyDynamicAABBTreeD

Dynamic aabb tree implementation as a prunning structure

Namespace: VRageMath
Assembly: VRage.Math.dll

Fields

Member Description
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.

Constructors

Member Description
MyDynamicAABBTreeD()
MyDynamicAABBTreeD(Vector3D, double)

Methods

Member Description
AddProxy(ref BoundingBoxD, object, uint, bool) Create a proxy. Provide a tight fitting BoundingBox and a userData pointer.
RemoveProxy(int) Destroy a proxy. This asserts if the id is invalid.
MoveProxy(int, ref BoundingBoxD, Vector3D) 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.
GetUserData(int)
GetRoot()
GetLeafCount(int)
GetNodeLeaves(int, List)
GetAabb(int)
GetChildren(int, out int, out int)
GetFatAABB(int, out BoundingBoxD) Get the fat BoundingBox for a proxy.
Query(Func, ref BoundingBoxD)
QueryPoint(Func, ref Vector3D)
CountLeaves(int)
GetHeight()
IsRootNull()
Balance(int)
OverlapAllFrustum(ref BoundingFrustumD, List, bool)
OverlapAllFrustum(ref BoundingFrustumD, List, uint, bool)
OverlapAllFrustumAny(ref BoundingFrustumD, List, bool)
OverlapAllFrustum(ref BoundingFrustumD, List, List)
OverlapAllFrustum(ref BoundingFrustumD, T)
OverlapAllFrustum(ref BoundingFrustumD, List, List, float, bool)
OverlapAllFrustum(ref BoundingFrustumD, Action, float)
OverlapAllFrustum(ref BoundingFrustumD, T, float)
OverlapAllLineSegment(ref LineD, List, bool)
OverlapAllLineSegment(ref LineD, List, uint, bool)
OverlapAllBoundingBox(ref BoundingBoxD, List, uint, bool)
OverlapAllBoundingBox(ref MyOrientedBoundingBoxD, List, uint, bool)
OverlapsAnyLeafBoundingBox(ref BoundingBoxD)
GetAproximateClustersForAabb(ref BoundingBoxD, double, List)
OverlapAllBoundingSphere(ref BoundingSphereD, List, bool)
OverlapAllBoundingSphere(ref BoundingSphereD, Action)
GetAll(List, bool, List)
GetAll(Action)
GetAll(Action)
GetAllNodeBounds(List)
Clear()
Dispose()
Clone this wiki locally