Gorilla.Physics.Q3.DynamicAABBTree
Unit Gorilla.Physics.Q3.DynamicAABBTree.pasClasses
- TQ3DynamicAABBTree = class ( TObject )
Records
- record TNode
Mics. types
- type PNode = pointer to TNode;
TQ3DynamicAABBTree
Ancestors
Members
Fields
- private FRoot :
Integer
- private FNodes :
TArray<Gorilla.Physics.Q3.DynamicAABBTree.TNode>
- private FCount :
Integer
- private FCapacity :
Integer
- private FFreeList :
Integer
Methods
- public constructor Create ( ) ;
- public destructor Destroy ( ) ;
- private function AllocateNode ( ) : Integer ;
- private procedure DeallocateNode ( const AIndex : Integer ) ;
- private function Balance ( iA : Integer ) : Integer ;
- private procedure InsertLeaf ( const AIndex : Integer ) ;
- private procedure RemoveLeaf ( const AIndex : Integer ) ;
- private procedure ValidateStructure ( const AIndex : Integer ) ;
- private procedure RenderNode ( ARender : PQ3Render; const AIndex : Integer ) ;
- private procedure SyncHeirarchy ( AIndex : Integer ) ;
- private procedure AddToFreeList ( const AIndex : Integer ) ;
- public function Insert ( const AABB : TQ3AABB; const AModel : PQ3Model; const AUserData : Pointer ) : Integer ;
- public procedure Remove ( AId : Integer ) ;
- public function Update ( AId : Integer; const AABB : TQ3AABB ) : Boolean ;
- public function GetUserData ( AId : Integer ) : Pointer ;
- public function GetFatAABB ( AId : Integer ) : TQ3AABB ;
- public procedure Render ( ARender : PQ3Render ) ;
- public procedure Query ( cb : TQ3QueryCallbackObject; const AABB : TQ3AABB ) ; overload;
- public procedure Query ( cb : TQ3QueryCallbackObject; RayCast : PQ3RaycastData ) ; overload;
- public procedure Validate ( ) ;