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

#include <aabtreecull.h>

Inherits CullSystemClass.

Inherited by TypedAABTreeCullSystemClass< SoundCullObjClass >, and TypedAABTreeCullSystemClass< T >.

Classes

struct  StatsStruct
 

Public Member Functions

 AABTreeCullSystemClass (void)
 
virtual ~AABTreeCullSystemClass (void)
 
void Re_Partition (void)
 
void Re_Partition (const AABoxClass &bounds, SimpleDynVecClass< AABoxClass > &boxes)
 
void Update_Bounding_Boxes (void)
 
virtual void Update_Culling (CullableClass *obj)
 
int Partition_Node_Count (void) const
 
int Partition_Tree_Depth (void) const
 
int Object_Count (void) const
 
virtual void Collect_Objects (const Vector3 &point)
 
virtual void Collect_Objects (const AABoxClass &box)
 
virtual void Collect_Objects (const OBBoxClass &box)
 
virtual void Collect_Objects (const FrustumClass &frustum)
 
virtual void Collect_Objects (const SphereClass &sphere)
 
virtual void Load (ChunkLoadClass &cload)
 
virtual void Save (ChunkSaveClass &csave)
 
void Load_Object_Linkage (ChunkLoadClass &cload, CullableClass *obj)
 
void Save_Object_Linkage (ChunkSaveClass &csave, CullableClass *obj)
 
const AABoxClassGet_Bounding_Box (void)
 
void Get_Node_Bounds (int node_id, AABoxClass *set_bounds)
 
void Reset_Statistics (void)
 
const StatsStructGet_Statistics (void)
 
- Public Member Functions inherited from CullSystemClass
 CullSystemClass (void)
 
virtual ~CullSystemClass (void)
 
void Reset_Collection (void)
 

Protected Member Functions

void NODE_ACCEPTED (void)
 
void NODE_TRIVIALLY_ACCEPTED (void)
 
void NODE_REJECTED (void)
 
void Add_Object_Internal (CullableClass *obj, int node_index=-1)
 
void Remove_Object_Internal (CullableClass *obj)
 
void Re_Index_Nodes (void)
 
void Re_Index_Nodes_Recursive (AABTreeNodeClass *node, int &counter)
 
int Partition_Node_Count_Recursive (AABTreeNodeClass *node) const
 
void Partition_Tree_Depth_Recursive (AABTreeNodeClass *node, int cur_depth, int &max_depth) const
 
void Add_Object_Recursive (AABTreeNodeClass *node, CullableClass *obj)
 
void Add_Loaded_Object (AABTreeNodeClass *node, CullableClass *obj)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node, const Vector3 &point)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node, const AABoxClass &box)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node, const OBBoxClass &box)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node, const FrustumClass &frustum)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node, const FrustumClass &frustum, int planes_passed)
 
void Collect_Objects_Recursive (AABTreeNodeClass *node, const SphereClass &sphere)
 
void Update_Bounding_Boxes_Recursive (AABTreeNodeClass *node)
 
void Load_Nodes (AABTreeNodeClass *node, ChunkLoadClass &cload)
 
void Save_Nodes (AABTreeNodeClass *node, ChunkSaveClass &csave)
 
virtual void Load_Node_Contents (AABTreeNodeClass *, ChunkLoadClass &)
 
virtual void Save_Node_Contents (AABTreeNodeClass *, ChunkSaveClass &)
 
- Protected Member Functions inherited from CullSystemClass
CullableClassGet_First_Collected_Object_Internal (void)
 
CullableClassGet_Next_Collected_Object_Internal (CullableClass *obj)
 
CullableClassPeek_First_Collected_Object_Internal (void)
 
CullableClassPeek_Next_Collected_Object_Internal (CullableClass *obj)
 
void Add_To_Collection (CullableClass *obj)
 

Protected Attributes

AABTreeNodeClassRootNode
 
int ObjectCount
 
int NodeCount
 
AABTreeNodeClass ** IndexedNodes
 
StatsStruct Stats
 
- Protected Attributes inherited from CullSystemClass
CullableClassCollectionHead
 

Friends

class AABTreeIterator
 

Detailed Description

AABTreeCullSystemClass Derived culling system that uses an Axis-Aligned Bounding Box Tree

Definition at line 62 of file aabtreecull.h.

Constructor & Destructor Documentation

◆ AABTreeCullSystemClass()

AABTreeCullSystemClass::AABTreeCullSystemClass ( void )

Definition at line 115 of file aabtreecull.cpp.

◆ ~AABTreeCullSystemClass()

AABTreeCullSystemClass::~AABTreeCullSystemClass ( void )
virtual

Definition at line 124 of file aabtreecull.cpp.

Member Function Documentation

◆ Add_Loaded_Object()

void AABTreeCullSystemClass::Add_Loaded_Object ( AABTreeNodeClass * node,
CullableClass * obj )
protected

Definition at line 303 of file aabtreecull.cpp.

◆ Add_Object_Internal()

void AABTreeCullSystemClass::Add_Object_Internal ( CullableClass * obj,
int node_index = -1 )
protected

Definition at line 143 of file aabtreecull.cpp.

◆ Add_Object_Recursive()

void AABTreeCullSystemClass::Add_Object_Recursive ( AABTreeNodeClass * node,
CullableClass * obj )
protected

Definition at line 274 of file aabtreecull.cpp.

◆ Collect_Objects() [1/5]

void AABTreeCullSystemClass::Collect_Objects ( const AABoxClass & box)
virtual

Implements CullSystemClass.

Definition at line 211 of file aabtreecull.cpp.

◆ Collect_Objects() [2/5]

void AABTreeCullSystemClass::Collect_Objects ( const FrustumClass & frustum)
virtual

Implements CullSystemClass.

Definition at line 221 of file aabtreecull.cpp.

◆ Collect_Objects() [3/5]

void AABTreeCullSystemClass::Collect_Objects ( const OBBoxClass & box)
virtual

Implements CullSystemClass.

Definition at line 216 of file aabtreecull.cpp.

◆ Collect_Objects() [4/5]

void AABTreeCullSystemClass::Collect_Objects ( const SphereClass & sphere)
virtual

Definition at line 226 of file aabtreecull.cpp.

◆ Collect_Objects() [5/5]

void AABTreeCullSystemClass::Collect_Objects ( const Vector3 & point)
virtual

Implements CullSystemClass.

Definition at line 206 of file aabtreecull.cpp.

◆ Collect_Objects_Recursive() [1/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node)
protected

Definition at line 433 of file aabtreecull.cpp.

◆ Collect_Objects_Recursive() [2/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node,
const AABoxClass & box )
protected

Definition at line 499 of file aabtreecull.cpp.

◆ Collect_Objects_Recursive() [3/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node,
const FrustumClass & frustum )
protected

◆ Collect_Objects_Recursive() [4/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node,
const FrustumClass & frustum,
int planes_passed )
protected

Definition at line 586 of file aabtreecull.cpp.

◆ Collect_Objects_Recursive() [5/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node,
const OBBoxClass & box )
protected

Definition at line 543 of file aabtreecull.cpp.

◆ Collect_Objects_Recursive() [6/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node,
const SphereClass & sphere )
protected

Definition at line 633 of file aabtreecull.cpp.

◆ Collect_Objects_Recursive() [7/7]

void AABTreeCullSystemClass::Collect_Objects_Recursive ( AABTreeNodeClass * node,
const Vector3 & point )
protected

Definition at line 463 of file aabtreecull.cpp.

◆ Get_Bounding_Box()

const AABoxClass & AABTreeCullSystemClass::Get_Bounding_Box ( void )

Definition at line 405 of file aabtreecull.cpp.

◆ Get_Node_Bounds()

void AABTreeCullSystemClass::Get_Node_Bounds ( int node_id,
AABoxClass * set_bounds )

Definition at line 411 of file aabtreecull.cpp.

◆ Get_Statistics()

const AABTreeCullSystemClass::StatsStruct & AABTreeCullSystemClass::Get_Statistics ( void )

Definition at line 428 of file aabtreecull.cpp.

◆ Load()

void AABTreeCullSystemClass::Load ( ChunkLoadClass & cload)
virtual

Definition at line 699 of file aabtreecull.cpp.

◆ Load_Node_Contents()

virtual void AABTreeCullSystemClass::Load_Node_Contents ( AABTreeNodeClass * ,
ChunkLoadClass &  )
inlineprotectedvirtual

Definition at line 183 of file aabtreecull.h.

◆ Load_Nodes()

void AABTreeCullSystemClass::Load_Nodes ( AABTreeNodeClass * node,
ChunkLoadClass & cload )
protected

Definition at line 734 of file aabtreecull.cpp.

◆ Load_Object_Linkage()

void AABTreeCullSystemClass::Load_Object_Linkage ( ChunkLoadClass & cload,
CullableClass * obj )

Definition at line 856 of file aabtreecull.cpp.

◆ NODE_ACCEPTED()

void AABTreeCullSystemClass::NODE_ACCEPTED ( void )
inlineprotected

Definition at line 151 of file aabtreecull.h.

◆ NODE_REJECTED()

void AABTreeCullSystemClass::NODE_REJECTED ( void )
inlineprotected

Definition at line 153 of file aabtreecull.h.

◆ NODE_TRIVIALLY_ACCEPTED()

void AABTreeCullSystemClass::NODE_TRIVIALLY_ACCEPTED ( void )
inlineprotected

Definition at line 152 of file aabtreecull.h.

◆ Object_Count()

int AABTreeCullSystemClass::Object_Count ( void ) const

Definition at line 243 of file aabtreecull.cpp.

◆ Partition_Node_Count()

int AABTreeCullSystemClass::Partition_Node_Count ( void ) const

Definition at line 231 of file aabtreecull.cpp.

◆ Partition_Node_Count_Recursive()

int AABTreeCullSystemClass::Partition_Node_Count_Recursive ( AABTreeNodeClass * node) const
protected

Definition at line 248 of file aabtreecull.cpp.

◆ Partition_Tree_Depth()

int AABTreeCullSystemClass::Partition_Tree_Depth ( void ) const

Definition at line 236 of file aabtreecull.cpp.

◆ Partition_Tree_Depth_Recursive()

void AABTreeCullSystemClass::Partition_Tree_Depth_Recursive ( AABTreeNodeClass * node,
int cur_depth,
int & max_depth ) const
protected

Definition at line 260 of file aabtreecull.cpp.

◆ Re_Index_Nodes()

void AABTreeCullSystemClass::Re_Index_Nodes ( void )
protected

Definition at line 885 of file aabtreecull.cpp.

◆ Re_Index_Nodes_Recursive()

void AABTreeCullSystemClass::Re_Index_Nodes_Recursive ( AABTreeNodeClass * node,
int & counter )
protected

Definition at line 901 of file aabtreecull.cpp.

◆ Re_Partition() [1/2]

void AABTreeCullSystemClass::Re_Partition ( const AABoxClass & bounds,
SimpleDynVecClass< AABoxClass > & boxes )

Definition at line 353 of file aabtreecull.cpp.

◆ Re_Partition() [2/2]

void AABTreeCullSystemClass::Re_Partition ( void )

Definition at line 322 of file aabtreecull.cpp.

◆ Remove_Object_Internal()

void AABTreeCullSystemClass::Remove_Object_Internal ( CullableClass * obj)
protected

Definition at line 166 of file aabtreecull.cpp.

◆ Reset_Statistics()

void AABTreeCullSystemClass::Reset_Statistics ( void )

Definition at line 420 of file aabtreecull.cpp.

◆ Save()

void AABTreeCullSystemClass::Save ( ChunkSaveClass & csave)
virtual

Definition at line 802 of file aabtreecull.cpp.

◆ Save_Node_Contents()

virtual void AABTreeCullSystemClass::Save_Node_Contents ( AABTreeNodeClass * ,
ChunkSaveClass &  )
inlineprotectedvirtual

Definition at line 184 of file aabtreecull.h.

◆ Save_Nodes()

void AABTreeCullSystemClass::Save_Nodes ( AABTreeNodeClass * node,
ChunkSaveClass & csave )
protected

Definition at line 812 of file aabtreecull.cpp.

◆ Save_Object_Linkage()

void AABTreeCullSystemClass::Save_Object_Linkage ( ChunkSaveClass & csave,
CullableClass * obj )

Definition at line 867 of file aabtreecull.cpp.

◆ Update_Bounding_Boxes()

void AABTreeCullSystemClass::Update_Bounding_Boxes ( void )

Definition at line 400 of file aabtreecull.cpp.

◆ Update_Bounding_Boxes_Recursive()

void AABTreeCullSystemClass::Update_Bounding_Boxes_Recursive ( AABTreeNodeClass * node)
protected

Definition at line 668 of file aabtreecull.cpp.

◆ Update_Culling()

void AABTreeCullSystemClass::Update_Culling ( CullableClass * obj)
virtual

Implements CullSystemClass.

Definition at line 187 of file aabtreecull.cpp.

Friends And Related Symbol Documentation

◆ AABTreeIterator

friend class AABTreeIterator
friend

Definition at line 194 of file aabtreecull.h.

Member Data Documentation

◆ IndexedNodes

AABTreeNodeClass** AABTreeCullSystemClass::IndexedNodes
protected

Definition at line 190 of file aabtreecull.h.

◆ NodeCount

int AABTreeCullSystemClass::NodeCount
protected

Definition at line 189 of file aabtreecull.h.

◆ ObjectCount

int AABTreeCullSystemClass::ObjectCount
protected

Definition at line 187 of file aabtreecull.h.

◆ RootNode

AABTreeNodeClass* AABTreeCullSystemClass::RootNode
protected

Definition at line 186 of file aabtreecull.h.

◆ Stats

StatsStruct AABTreeCullSystemClass::Stats
protected

Definition at line 192 of file aabtreecull.h.


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