Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
AABTreeNodeClass Class Reference

#include <aabtreecull.h>

Inherits AutoPoolClass< AABTreeNodeClass, 256 >.

Classes

struct  SplitChoiceStruct
 

Public Member Functions

 AABTreeNodeClass (void)
 
 ~AABTreeNodeClass (void)
 
void Add_Object (CullableClass *obj, bool update_bounds=true)
 
void Remove_Object (CullableClass *obj)
 
int Object_Count (void)
 
CullableClassPeek_Object (int index)
 
void Compute_Bounding_Box (void)
 
void Compute_Local_Bounding_Box (void)
 
float Compute_Volume (void)
 
void Transfer_Objects (AABTreeNodeClass *dummy_node)
 
void Partition (void)
 
void Split_Objects (const SplitChoiceStruct &sc, AABTreeNodeClass *front, AABTreeNodeClass *back)
 
void Partition (const AABoxClass &bounds, SimpleDynVecClass< AABoxClass > &boxes)
 
void Split_Boxes (const SplitChoiceStruct &sc, SimpleDynVecClass< AABoxClass > &boxes, SimpleDynVecClass< AABoxClass > &frontboxes, SimpleDynVecClass< AABoxClass > &backboxes)
 
void Select_Splitting_Plane (SplitChoiceStruct *sc, SimpleDynVecClass< AABoxClass > &boxes)
 
void Select_Splitting_Plane_Brute_Force (SplitChoiceStruct *sc, SimpleDynVecClass< AABoxClass > &boxes)
 
void Compute_Score (SplitChoiceStruct *sc, SimpleDynVecClass< AABoxClass > &boxes)
 

Public Attributes

uint32 Index
 
AABoxClass Box
 
AABTreeNodeClassParent
 
AABTreeNodeClassFront
 
AABTreeNodeClassBack
 
CullableClassObject
 
uint32 UserData
 

Additional Inherited Members

- Static Public Member Functions inherited from AutoPoolClass< AABTreeNodeClass, 256 >
static void * operator new (size_t size)
 
static void operator delete (void *memory)
 

Detailed Description

AABTreeNodeClass - the aab-tree is built out of these objects CullableClass's can be linked into any of these nodes. Whenever the tree is re-built, all objects will end up in the leaf nodes. Between re-builds, as objects are added, they will be placed as deep into the tree as possible.

Definition at line 257 of file aabtreecull.h.

Constructor & Destructor Documentation

◆ AABTreeNodeClass()

AABTreeNodeClass::AABTreeNodeClass ( void )

Definition at line 922 of file aabtreecull.cpp.

◆ ~AABTreeNodeClass()

AABTreeNodeClass::~AABTreeNodeClass ( void )

Definition at line 933 of file aabtreecull.cpp.

Member Function Documentation

◆ Add_Object()

void AABTreeNodeClass::Add_Object ( CullableClass * obj,
bool update_bounds = true )

Definition at line 998 of file aabtreecull.cpp.

◆ Compute_Bounding_Box()

void AABTreeNodeClass::Compute_Bounding_Box ( void )

Definition at line 949 of file aabtreecull.cpp.

◆ Compute_Local_Bounding_Box()

void AABTreeNodeClass::Compute_Local_Bounding_Box ( void )

Definition at line 965 of file aabtreecull.cpp.

◆ Compute_Score()

void AABTreeNodeClass::Compute_Score ( AABTreeNodeClass::SplitChoiceStruct * sc,
SimpleDynVecClass< AABoxClass > & boxes )

Definition at line 1430 of file aabtreecull.cpp.

◆ Compute_Volume()

float AABTreeNodeClass::Compute_Volume ( void )

Definition at line 993 of file aabtreecull.cpp.

◆ Object_Count()

int AABTreeNodeClass::Object_Count ( void )

Definition at line 1069 of file aabtreecull.cpp.

◆ Partition() [1/2]

void AABTreeNodeClass::Partition ( const AABoxClass & bounds,
SimpleDynVecClass< AABoxClass > & boxes )

Definition at line 1225 of file aabtreecull.cpp.

◆ Partition() [2/2]

void AABTreeNodeClass::Partition ( void )

Definition at line 1104 of file aabtreecull.cpp.

◆ Peek_Object()

CullableClass * AABTreeNodeClass::Peek_Object ( int index)

Definition at line 1082 of file aabtreecull.cpp.

◆ Remove_Object()

void AABTreeNodeClass::Remove_Object ( CullableClass * obj)

Definition at line 1018 of file aabtreecull.cpp.

◆ Select_Splitting_Plane()

void AABTreeNodeClass::Select_Splitting_Plane ( SplitChoiceStruct * sc,
SimpleDynVecClass< AABoxClass > & boxes )

Definition at line 1321 of file aabtreecull.cpp.

◆ Select_Splitting_Plane_Brute_Force()

void AABTreeNodeClass::Select_Splitting_Plane_Brute_Force ( AABTreeNodeClass::SplitChoiceStruct * sc,
SimpleDynVecClass< AABoxClass > & boxes )

Definition at line 1377 of file aabtreecull.cpp.

◆ Split_Boxes()

void AABTreeNodeClass::Split_Boxes ( const SplitChoiceStruct & sc,
SimpleDynVecClass< AABoxClass > & boxes,
SimpleDynVecClass< AABoxClass > & frontboxes,
SimpleDynVecClass< AABoxClass > & backboxes )

Definition at line 1280 of file aabtreecull.cpp.

◆ Split_Objects()

void AABTreeNodeClass::Split_Objects ( const SplitChoiceStruct & sc,
AABTreeNodeClass * front,
AABTreeNodeClass * back )

Definition at line 1172 of file aabtreecull.cpp.

◆ Transfer_Objects()

void AABTreeNodeClass::Transfer_Objects ( AABTreeNodeClass * dummy_node)

Definition at line 1050 of file aabtreecull.cpp.

Member Data Documentation

◆ Back

AABTreeNodeClass* AABTreeNodeClass::Back

Definition at line 274 of file aabtreecull.h.

◆ Box

AABoxClass AABTreeNodeClass::Box

Definition at line 271 of file aabtreecull.h.

◆ Front

AABTreeNodeClass* AABTreeNodeClass::Front

Definition at line 273 of file aabtreecull.h.

◆ Index

uint32 AABTreeNodeClass::Index

Definition at line 270 of file aabtreecull.h.

◆ Object

CullableClass* AABTreeNodeClass::Object

Definition at line 275 of file aabtreecull.h.

◆ Parent

AABTreeNodeClass* AABTreeNodeClass::Parent

Definition at line 272 of file aabtreecull.h.

◆ UserData

uint32 AABTreeNodeClass::UserData

Definition at line 276 of file aabtreecull.h.


The documentation for this class was generated from the following files: