# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CQuadGridClipManager Class Reference

A quadgrix of QuadGridCluster. More...

#include <quad_grid_clip_manager.h>

List of all members.

Public Methods

 CQuadGridClipManager ()
 Constructor. More...

 ~CQuadGridClipManager ()
void init (CScene *scene, float clusterSize, std::vector< float > maxDists, float radiusMax)
 Init the manager. More...

void reset ()
 delete clusters from scene, and reset the manager. More...

void updateClustersFromCamera (CClipTrav *pClipTrav, const CVector &camPos)
 create / delete QuadGridClusters around us. More...

bool linkModel (CTransformShape *pTfmShp, CClipTrav *pClipTrav)
 link a model to the best cluster possible, and update the bbox of this cluster. More...


Private Methods

void deleteCaseModels (CClipTrav *pClipTrav, sint x, sint y)
void newCaseModels (CQuadGridClusterCase &clusterCase)

Private Attributes

CScene_Scene
float _ClusterSize
float _RadiusMax
std::vector< float > _MaxDists
sint _X
sint _Y
sint _Width
sint _Height
std::vector< CQuadGridClusterCase_QuadGridClusterCases


Detailed Description

A quadgrix of QuadGridCluster.

Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 53 of file quad_grid_clip_manager.h.


Constructor & Destructor Documentation

NL3D::CQuadGridClipManager::CQuadGridClipManager  
 

Constructor.

Definition at line 46 of file quad_grid_clip_manager.cpp.

References _ClusterSize, _Height, _Scene, _Width, _X, and _Y.

NL3D::CQuadGridClipManager::~CQuadGridClipManager  
 

Definition at line 54 of file quad_grid_clip_manager.cpp.

References reset.


Member Function Documentation

void NL3D::CQuadGridClipManager::deleteCaseModels CClipTrav   pClipTrav,
sint    x,
sint    y
[private]
 

Definition at line 283 of file quad_grid_clip_manager.cpp.

References _Height, _QuadGridClusterCases, _Scene, _Width, _X, _Y, nlassert, x, and y.

Referenced by reset, and updateClustersFromCamera.

void NL3D::CQuadGridClipManager::init CScene   scene,
float    clusterSize,
std::vector< float >    maxDists,
float    radiusMax
 

Init the manager.

Parameters:
clusterSize  is the size of a cluster. eg: 160mx160m.
maxDists  eg (100, 500). Intervalls of distance for fast DistMax clip optimisation. there is maxDists.size()+1 clusters created by case of clusterSize*clusterSize. And as so many test.
radiusMax  a square of radiusMax*2 x radiusMax*2 of CQuadGridClusterCase are ensured to be created.

Definition at line 61 of file quad_grid_clip_manager.cpp.

References _ClusterSize, _MaxDists, _RadiusMax, _Scene, nlassert, and reset.

bool NL3D::CQuadGridClipManager::linkModel CTransformShape   pTfmShp,
CClipTrav   pClipTrav
 

link a model to the best cluster possible, and update the bbox of this cluster.

if out of range (no cluster found), don't link to any and return false. NB: pTfmShp->getFirstParent() should be NULL.

Definition at line 199 of file quad_grid_clip_manager.cpp.

References _ClusterSize, _Height, _MaxDists, _QuadGridClusterCases, _Width, _X, _Y, nlassert, x, and y.

void NL3D::CQuadGridClipManager::newCaseModels CQuadGridClusterCase   clusterCase [private]
 

Definition at line 314 of file quad_grid_clip_manager.cpp.

References _MaxDists, _Scene, NL3D::ClipTravId, NL3D::HrcTravId, and NL3D::QuadGridClipClusterId.

Referenced by updateClustersFromCamera.

void NL3D::CQuadGridClipManager::reset  
 

delete clusters from scene, and reset the manager.

Definition at line 83 of file quad_grid_clip_manager.cpp.

References _ClusterSize, _Height, _MaxDists, _QuadGridClusterCases, _Scene, _Width, _X, _Y, NL3D::ClipTravId, deleteCaseModels, x, and y.

Referenced by init, and ~CQuadGridClipManager.

void NL3D::CQuadGridClipManager::updateClustersFromCamera CClipTrav   pClipTrav,
const CVector &    camPos
 

create / delete QuadGridClusters around us.

Definition at line 116 of file quad_grid_clip_manager.cpp.

References _ClusterSize, _Height, _QuadGridClusterCases, _RadiusMax, _Width, _X, _Y, deleteCaseModels, newCaseModels, x, and y.


Member Data Documentation

float NL3D::CQuadGridClipManager::_ClusterSize [private]
 

Definition at line 92 of file quad_grid_clip_manager.h.

Referenced by CQuadGridClipManager, init, linkModel, reset, and updateClustersFromCamera.

sint NL3D::CQuadGridClipManager::_Height [private]
 

Definition at line 96 of file quad_grid_clip_manager.h.

Referenced by CQuadGridClipManager, deleteCaseModels, linkModel, reset, and updateClustersFromCamera.

std::vector<float> NL3D::CQuadGridClipManager::_MaxDists [private]
 

Definition at line 94 of file quad_grid_clip_manager.h.

Referenced by init, linkModel, newCaseModels, and reset.

std::vector<CQuadGridClusterCase> NL3D::CQuadGridClipManager::_QuadGridClusterCases [private]
 

Definition at line 97 of file quad_grid_clip_manager.h.

Referenced by deleteCaseModels, linkModel, reset, and updateClustersFromCamera.

float NL3D::CQuadGridClipManager::_RadiusMax [private]
 

Definition at line 93 of file quad_grid_clip_manager.h.

Referenced by init, and updateClustersFromCamera.

CScene* NL3D::CQuadGridClipManager::_Scene [private]
 

Definition at line 91 of file quad_grid_clip_manager.h.

Referenced by CQuadGridClipManager, deleteCaseModels, init, newCaseModels, and reset.

sint NL3D::CQuadGridClipManager::_Width [private]
 

Definition at line 96 of file quad_grid_clip_manager.h.

Referenced by CQuadGridClipManager, deleteCaseModels, linkModel, reset, and updateClustersFromCamera.

sint NL3D::CQuadGridClipManager::_X [private]
 

Definition at line 95 of file quad_grid_clip_manager.h.

Referenced by CQuadGridClipManager, deleteCaseModels, linkModel, reset, and updateClustersFromCamera.

sint NL3D::CQuadGridClipManager::_Y [private]
 

Definition at line 95 of file quad_grid_clip_manager.h.

Referenced by CQuadGridClipManager, deleteCaseModels, linkModel, reset, and updateClustersFromCamera.


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