Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals

pge::Octree Class Reference

#include <Octree.h>

Inheritance diagram for pge::Octree:

Inheritance graph
[legend]
Collaboration diagram for pge::Octree:

Collaboration graph
[legend]

Public Member Functions

 Octree (MeshModel *model, int minMeshsPerNode, bool occlusionCulling)
 Constructor.

virtual ~Octree (void)
 Destructor.

bool init (void)
void render (void)
 Called when the object should render itself.

void timer (unsigned int delay)
 Called when the timer event comes.


Private Attributes

MeshModelm_model
OctreeNodem_root
int m_minMeshsPerNode
bool m_occlusionCulling

Constructor & Destructor Documentation

pge::Octree::Octree MeshModel model,
int  minMeshsPerNode,
bool  occlusionCulling
 

Constructor.

Definition at line 300 of file Octree.cpp.

References m_minMeshsPerNode, m_model, m_occlusionCulling, and m_root.

00300                                                                                    {
00301                 m_model = model;
00302                 m_root = NULL;
00303                 m_minMeshsPerNode = minMeshsPerNode;
00304                 m_occlusionCulling = occlusionCulling;
00305         }

pge::Octree::~Octree void   )  [virtual]
 

Destructor.

Definition at line 313 of file Octree.cpp.

References m_model, and m_root.

00313                             {
00314                 if(m_root != NULL) {
00315                         delete m_root;
00316                         m_root = NULL;
00317                 }
00318                 if(m_model != NULL) {
00319                         delete m_model;
00320                         m_model = NULL;
00321                 }
00322         }


Member Function Documentation

bool pge::Octree::init void   )  [virtual]
 

Implements pge::IRenderableObject.

Definition at line 330 of file Octree.cpp.

References pge::MeshModel::getBoundingBox(), pge::MeshModel::getMeshs(), pge::MeshModel::init(), pge::OctreeNode::initRootNode(), m_minMeshsPerNode, m_model, m_occlusionCulling, and m_root.

00330                               {
00331                 if(m_model != NULL) {
00332                         m_model->init();
00333                         m_root = new OctreeNode(new AABB(*m_model->getBoundingBox()), m_minMeshsPerNode, m_occlusionCulling);
00334                         m_root->initRootNode(m_model->getMeshs());
00335                         //printf("INFO: [%s] Rootnode meshs: %d\n", __FILE__, m_root->getMeshNum());
00336                         return true;
00337                 }
00338                 return false;
00339         }

Here is the call graph for this function:

void pge::Octree::render void   )  [virtual]
 

Called when the object should render itself.

Implements pge::IRenderableObject.

Definition at line 347 of file Octree.cpp.

References m_root, and pge::OctreeNode::render().

00347                                 {
00348                 m_root->render();
00349                 //m_root->renderWireframe();
00350         }

Here is the call graph for this function:

void pge::Octree::timer unsigned int  delay  )  [virtual]
 

Called when the timer event comes.

Implements pge::IRenderableObject.

Definition at line 358 of file Octree.cpp.

References m_model, and pge::MeshModel::timer().

00358                                              {
00359                 m_model->timer(delay);
00360         }

Here is the call graph for this function:


Field Documentation

int pge::Octree::m_minMeshsPerNode [private]
 

Definition at line 126 of file Octree.h.

Referenced by init(), and Octree().

MeshModel* pge::Octree::m_model [private]
 

Definition at line 124 of file Octree.h.

Referenced by init(), Octree(), timer(), and ~Octree().

bool pge::Octree::m_occlusionCulling [private]
 

Definition at line 127 of file Octree.h.

Referenced by init(), and Octree().

OctreeNode* pge::Octree::m_root [private]
 

Definition at line 125 of file Octree.h.

Referenced by init(), Octree(), render(), and ~Octree().


The documentation for this class was generated from the following files:
Generated on Mon Oct 16 12:09:21 2006 for Phobosengine by doxygen 1.3.4