# 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::CLoadBalancingTrav Class Reference

The LoadBalancing traversal. More...

#include <load_balancing_trav.h>

Inheritance diagram for NL3D::CLoadBalancingTrav:

NL3D::ITravCameraScene NL3D::ITravScene NL3D::ITrav NLMISC::CRefCount List of all members.

LoadBalancing mgt.

typedef CLoadBalancingGroup::TPolygonBalancingMode TPolygonBalancingMode
void setGroupNbFaceWanted (const std::string &group, uint nFaces)
 Set the number of faces wanted for a LoadBlancingGroup. More...

uint getGroupNbFaceWanted (const std::string &group)
 Get the number of faces wanted for a LoadBlancingGroup. More...

float getGroupNbFaceAsked (const std::string &group) const
 Get the last face count asked from the instances before reduction. More...

float getNbFaceAsked () const
 Get the last face count asked from the instances before reduction. Sum of all groups. More...

TPolygonBalancingMode PolygonBalancingMode

Public Methods

 CLoadBalancingTrav ()
 Constructor. More...

uint getLoadPass ()
CLoadBalancingGroupgetDefaultGroup ()
CLoadBalancingGroupgetOrCreateGroup (const std::string &group)
void clearVisibleList ()
void addVisibleObs (IBaseLoadBalancingObs *obs)
ITrav/ITravScene Implementation.
IObscreateDefaultObs () const
 This method must create a default observer for this traversal. More...

NLMISC::CClassId getClassId () const
 This function must return the Unique Ident for this traversal class. More...

sint getRenderOrder () const
 render after AnimDetailObs. More...

void traverse ()
 Execute the traversal. More...


Private Types

typedef std::map< std::string,
CLoadBalancingGroup
TGroupMap
typedef TGroupMap::iterator ItGroupMap

Private Methods

void traverseVisibilityList ()

Private Attributes

uint _LoadPass
float _SumNbFacePass0
CLoadBalancingGroup_DefaultGroup
TGroupMap _GroupMap
std::vector< IBaseLoadBalancingObs * > _VisibleList

Detailed Description

The LoadBalancing traversal.

It needs a camera setup (see ITravCameraScene). LoadBalancing observers MUST derive from IBaseLoadBalancingObs.

NB: see CScene for 3d conventions (orthonormal basis...)

See also:
CScene IBaseLoadBalancingObs
Author:
Lionel Berenguier , Nevrax France
Date:
2001

Definition at line 129 of file load_balancing_trav.h.


Member Typedef Documentation

typedef TGroupMap::iterator NL3D::CLoadBalancingTrav::ItGroupMap [private]
 

Definition at line 210 of file load_balancing_trav.h.

Referenced by getOrCreateGroup, and traverse.

typedef std::map<std::string, CLoadBalancingGroup> NL3D::CLoadBalancingTrav::TGroupMap [private]
 

Definition at line 209 of file load_balancing_trav.h.

typedef CLoadBalancingGroup::TPolygonBalancingMode NL3D::CLoadBalancingTrav::TPolygonBalancingMode
 

Definition at line 153 of file load_balancing_trav.h.


Constructor & Destructor Documentation

NL3D::CLoadBalancingTrav::CLoadBalancingTrav  
 

Constructor.

Definition at line 140 of file load_balancing_trav.cpp.

References _DefaultGroup, _GroupMap, _VisibleList, and PolygonBalancingMode.


Member Function Documentation

void NL3D::CLoadBalancingTrav::addVisibleObs IBaseLoadBalancingObs   obs
 

Definition at line 163 of file load_balancing_trav.cpp.

References _VisibleList.

void NL3D::CLoadBalancingTrav::clearVisibleList  
 

Definition at line 157 of file load_balancing_trav.cpp.

References _VisibleList.

IObs * NL3D::CLoadBalancingTrav::createDefaultObs   const [virtual]
 

This method must create a default observer for this traversal.

Any model which doesn't provide (by registerObs() or by inheritance) an observer for this view will be linked with this default observer.

Implements NL3D::ITrav.

Definition at line 133 of file load_balancing_trav.cpp.

NLMISC::CClassId NL3D::CLoadBalancingTrav::getClassId   const [inline, virtual]
 

This function must return the Unique Ident for this traversal class.

Implements NL3D::ITrav.

Definition at line 140 of file load_balancing_trav.h.

CLoadBalancingGroup* NL3D::CLoadBalancingTrav::getDefaultGroup   [inline]
 

Definition at line 183 of file load_balancing_trav.h.

References _DefaultGroup.

float NL3D::CLoadBalancingTrav::getGroupNbFaceAsked const std::string &    group const
 

Get the last face count asked from the instances before reduction.

only for the given group return 0 if the Group does not exist.

Definition at line 268 of file load_balancing_trav.cpp.

References _GroupMap.

uint NL3D::CLoadBalancingTrav::getGroupNbFaceWanted const std::string &    group
 

Get the number of faces wanted for a LoadBlancingGroup.

The Group is created if did not exist.

Definition at line 261 of file load_balancing_trav.cpp.

References getOrCreateGroup.

uint NL3D::CLoadBalancingTrav::getLoadPass   [inline]
 

Definition at line 181 of file load_balancing_trav.h.

References _LoadPass.

float NL3D::CLoadBalancingTrav::getNbFaceAsked   const
 

Get the last face count asked from the instances before reduction. Sum of all groups.

Definition at line 230 of file load_balancing_trav.cpp.

References _SumNbFacePass0.

CLoadBalancingGroup * NL3D::CLoadBalancingTrav::getOrCreateGroup const std::string &    group
 

Definition at line 237 of file load_balancing_trav.cpp.

References _GroupMap, and ItGroupMap.

Referenced by getGroupNbFaceWanted, and setGroupNbFaceWanted.

sint NL3D::CLoadBalancingTrav::getRenderOrder   const [inline, virtual]
 

render after AnimDetailObs.

This order is important to get correct object matrix sticked to skeletons.

Implements NL3D::ITravScene.

Definition at line 144 of file load_balancing_trav.h.

void NL3D::CLoadBalancingTrav::setGroupNbFaceWanted const std::string &    group,
uint    nFaces
 

Set the number of faces wanted for a LoadBlancingGroup.

The Group is created if did not exist.

Definition at line 254 of file load_balancing_trav.cpp.

References getOrCreateGroup.

void NL3D::CLoadBalancingTrav::traverse   [virtual]
 

Execute the traversal.

CScene::render() will call this method, to execute the traversal.

Implements NL3D::ITravScene.

Definition at line 170 of file load_balancing_trav.cpp.

References _GroupMap, _LoadPass, _SumNbFacePass0, H_AUTO, ItGroupMap, PolygonBalancingMode, and traverseVisibilityList.

void NL3D::CLoadBalancingTrav::traverseVisibilityList   [private]
 

Definition at line 217 of file load_balancing_trav.cpp.

References _VisibleList.

Referenced by traverse.


Member Data Documentation

CLoadBalancingGroup* NL3D::CLoadBalancingTrav::_DefaultGroup [private]
 

Definition at line 208 of file load_balancing_trav.h.

Referenced by CLoadBalancingTrav, and getDefaultGroup.

TGroupMap NL3D::CLoadBalancingTrav::_GroupMap [private]
 

Definition at line 211 of file load_balancing_trav.h.

Referenced by CLoadBalancingTrav, getGroupNbFaceAsked, getOrCreateGroup, and traverse.

uint NL3D::CLoadBalancingTrav::_LoadPass [private]
 

Definition at line 198 of file load_balancing_trav.h.

Referenced by getLoadPass, and traverse.

float NL3D::CLoadBalancingTrav::_SumNbFacePass0 [private]
 

Definition at line 201 of file load_balancing_trav.h.

Referenced by getNbFaceAsked, and traverse.

std::vector<IBaseLoadBalancingObs*> NL3D::CLoadBalancingTrav::_VisibleList [private]
 

Definition at line 214 of file load_balancing_trav.h.

Referenced by addVisibleObs, clearVisibleList, CLoadBalancingTrav, and traverseVisibilityList.

TPolygonBalancingMode NL3D::CLoadBalancingTrav::PolygonBalancingMode
 

Definition at line 154 of file load_balancing_trav.h.

Referenced by CLoadBalancingTrav, and traverse.


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