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

This class list all the particle systems that have resources allocated at a given time, so that we can remove the resource of those who are too far from the viewer. More...

#include <particle_system_manager.h>

List of all members.

Public Types

enum  { NumProcessToRefresh = 3 }

Public Methods

 CParticleSystemManager ()
 =========================================================. More...

void refreshModels (const std::vector< NLMISC::CPlane > &worldFrustumPyramid, const NLMISC::CVector &viewerPos)
 =========================================================. More...

void processAnimate (TAnimationTime deltaT)
 =========================================================. More...


Private Types

typedef std::list< CParticleSystemModel * > TModelList

Private Methods

TModelHandle addSystemModel (CParticleSystemModel *)
 =========================================================. More...

void removeSystemModel (TModelHandle &handle)
 =========================================================. More...

TModelHandle addPermanentlyAnimatedSystem (CParticleSystemModel *)
 =========================================================. More...

void removePermanentlyAnimatedSystem (TModelHandle &handle)
 =========================================================. More...


Private Attributes

TModelList::iterator _CurrListIterator
TModelList _ModelList
 the current element being processed. More...

TModelList _PermanentlyAnimatedModelList
uint _NumModels

Friends

class CParticleSystemModel


Detailed Description

This class list all the particle systems that have resources allocated at a given time, so that we can remove the resource of those who are too far from the viewer.

This has been added because objects that are in a cluster that is not visible are not parsed during traversals, so their resources couldn't just be released Only a few systems are parsed each time (because they can be numerous). Call to that class should be made by CScene, so you don't need to use it

Author:
Nicolas Vizerie , Nevrax France
Date:
2002

Definition at line 58 of file particle_system_manager.h.


Member Typedef Documentation

typedef std::list<CParticleSystemModel *> NL3D::CParticleSystemManager::TModelList [private]
 

Definition at line 74 of file particle_system_manager.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
NumProcessToRefresh 

Definition at line 61 of file particle_system_manager.h.


Constructor & Destructor Documentation

NL3D::CParticleSystemManager::CParticleSystemManager  
 

=========================================================.

Definition at line 35 of file particle_system_manager.cpp.

References _CurrListIterator, and _ModelList.


Member Function Documentation

CParticleSystemManager::TModelHandle NL3D::CParticleSystemManager::addPermanentlyAnimatedSystem CParticleSystemModel   [private]
 

=========================================================.

Definition at line 115 of file particle_system_manager.cpp.

References _PermanentlyAnimatedModelList, and nlassert.

CParticleSystemManager::TModelHandle NL3D::CParticleSystemManager::addSystemModel CParticleSystemModel   [private]
 

=========================================================.

model has resources attached to it.

See also:
removeSystemModel

Definition at line 74 of file particle_system_manager.cpp.

References _ModelList, _NumModels, and nlassert.

void NL3D::CParticleSystemManager::processAnimate TAnimationTime    deltaT
 

=========================================================.

Definition at line 137 of file particle_system_manager.cpp.

References _PermanentlyAnimatedModelList, CParticleSystemModel, and NL3D::TAnimationTime.

void NL3D::CParticleSystemManager::refreshModels const std::vector< NLMISC::CPlane > &    worldFrustumPyramid,
const NLMISC::CVector   viewerPos
 

=========================================================.

Definition at line 41 of file particle_system_manager.cpp.

References _CurrListIterator, _ModelList, _NumModels, min, nlassert, and NumProcessToRefresh.

void NL3D::CParticleSystemManager::removePermanentlyAnimatedSystem TModelHandle   handle [private]
 

=========================================================.

Definition at line 130 of file particle_system_manager.cpp.

References _PermanentlyAnimatedModelList, and nlassert.

void NL3D::CParticleSystemManager::removeSystemModel TModelHandle   handle [private]
 

=========================================================.

Definition at line 94 of file particle_system_manager.cpp.

References _CurrListIterator, _ModelList, _NumModels, and nlassert.


Friends And Related Function Documentation

friend class CParticleSystemModel [friend]
 

Definition at line 73 of file particle_system_manager.h.

Referenced by processAnimate.


Member Data Documentation

TModelList::iterator NL3D::CParticleSystemManager::_CurrListIterator [private]
 

Definition at line 100 of file particle_system_manager.h.

Referenced by CParticleSystemManager, refreshModels, and removeSystemModel.

TModelList NL3D::CParticleSystemManager::_ModelList [private]
 

the current element being processed.

Definition at line 101 of file particle_system_manager.h.

Referenced by addSystemModel, CParticleSystemManager, refreshModels, and removeSystemModel.

uint NL3D::CParticleSystemManager::_NumModels [private]
 

Definition at line 103 of file particle_system_manager.h.

Referenced by addSystemModel, refreshModels, and removeSystemModel.

TModelList NL3D::CParticleSystemManager::_PermanentlyAnimatedModelList [private]
 

Definition at line 102 of file particle_system_manager.h.

Referenced by addPermanentlyAnimatedSystem, processAnimate, and removePermanentlyAnimatedSystem.


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