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

This class holds a particle system. More...

#include <particle_system.h>

Collaboration diagram for NL3D::CParticleSystem:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual void step (TPSProcessPass pass, CAnimationTime ellapsedTime)
 execute all the process of the system. More...

void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialize this particle system. More...

 CParticleSystem ()
 ctor. More...

 ~CParticleSystem ()
 dtor. More...

void attach (CParticleSystemProcess *ptr)
 attach a process (such as a located : see particle_system_located.h) to the system It is then owned by the process and will be deleted by it if already present -> nl assert. More...

void remove (CParticleSystemProcess *ptr)
 remove a process It is deleted by the system if not present -> nl assert. More...

uint32 getNbProcess (void) const
 get the number of process that are attached to the system. More...

CParticleSystemProcessgetProcess (uint32 index)
 Get a ref to the nth process. More...

const CParticleSystemProcessgetProcess (uint32 index) const
 Get a const ref to the nth process. More...

bool computeBBox (NLMISC::CAABBox &aabbox) const
 Compute the aabbox of this located, (expressed in world basis TODO : express it in system basis ... More...

void setSysMat (const CMatrix &m)
 Set the matrix for the system. More...

const CMatrix& getSysMat (void) const
 return the matrix of the system. More...

const CMatrix& getInvertedSysMat (void) const
 return the inverted matrix of the system. More...

const CMatrix& getViewMat (void) const
 shortcut to get the view matrix (transposed version) . It is stored each time a new frame is processed. More...

void setFontGenerator (CFontGenerator *fg)
 Set a font generator. Useful only for edition. don't need that in runtime. More...

CFontGeneratorgetFontGenerator (void)
 retrieve the font generator. Edition purpose only. More...

const CFontGeneratorgetFontGenerator (void) const
 retrieve the font generator (const version). Edition purpose only. More...

void setFontManager (CFontManager *fg)
 Set a font Manager. Useful only for edition. don't need that in runtime. More...

CFontManagergetFontManager (void)
 retrieve the font Manager. Edition purpose only. More...

const CFontManagergetFontManager (void) const
 retrieve the font Manager (const version). Edition purpose only. More...


Static Public Attributes

uint32 _NbParticlesDrawn = 0
 used for benchs. More...


Protected Types

typedef std::vector< CParticleSystemProcess *> TProcessVect

Protected Attributes

TProcessVect _ProcessVect
CFontGenerator_FontGenerator
CFontManager_FontManager
CMatrix _ViewMat
CMatrix _SysMat
CMatrix _InvSysMat

Detailed Description

This class holds a particle system.

Author(s):
Nicolas Vizerie , Nevrax France
Date:
2001

Definition at line 160 of file particle_system.h.


Member Typedef Documentation

typedef std::vector< CParticleSystemProcess *> NL3D::CParticleSystem::TProcessVect [protected]
 

Definition at line 276 of file particle_system.h.


Constructor & Destructor Documentation

NL3D::CParticleSystem::CParticleSystem ( )
 

ctor.

Definition at line 97 of file particle_system.cpp.

NL3D::CParticleSystem::~CParticleSystem ( )
 

dtor.

Definition at line 103 of file particle_system.cpp.


Member Function Documentation

void NL3D::CParticleSystem::attach ( CParticleSystemProcess * ptr )
 

attach a process (such as a located : see particle_system_located.h) to the system It is then owned by the process and will be deleted by it if already present -> nl assert.

Definition at line 157 of file particle_system.cpp.

bool NL3D::CParticleSystem::computeBBox ( NLMISC::CAABBox & aabbox ) const
 

Compute the aabbox of this located, (expressed in world basis TODO : express it in system basis ...

Returns:
true if there is any aabbox
Parameters:
aabbox   a ref to the result box

Definition at line 180 of file particle_system.cpp.

const CFontGenerator * NL3D::CParticleSystem::getFontGenerator ( void ) const [inline]
 

retrieve the font generator (const version). Edition purpose only.

Definition at line 258 of file particle_system.h.

CFontGenerator * NL3D::CParticleSystem::getFontGenerator ( void ) [inline]
 

retrieve the font generator. Edition purpose only.

Definition at line 255 of file particle_system.h.

const CFontManager * NL3D::CParticleSystem::getFontManager ( void ) const [inline]
 

retrieve the font Manager (const version). Edition purpose only.

Definition at line 267 of file particle_system.h.

CFontManager * NL3D::CParticleSystem::getFontManager ( void ) [inline]
 

retrieve the font Manager. Edition purpose only.

Definition at line 264 of file particle_system.h.

const CMatrix & NL3D::CParticleSystem::getInvertedSysMat ( void ) const [inline]
 

return the inverted matrix of the system.

Definition at line 243 of file particle_system.h.

uint32 NL3D::CParticleSystem::getNbProcess ( void ) const [inline]
 

get the number of process that are attached to the system.

Definition at line 200 of file particle_system.h.

const CParticleSystemProcess * NL3D::CParticleSystem::getProcess ( uint32 index ) const [inline]
 

Get a const ref to the nth process.

Out of range -> nlassert

Definition at line 216 of file particle_system.h.

CParticleSystemProcess * NL3D::CParticleSystem::getProcess ( uint32 index ) [inline]
 

Get a ref to the nth process.

Out of range -> nlassert

Definition at line 206 of file particle_system.h.

const CMatrix & NL3D::CParticleSystem::getSysMat ( void ) const [inline]
 

return the matrix of the system.

Definition at line 239 of file particle_system.h.

const CMatrix & NL3D::CParticleSystem::getViewMat ( void ) const [inline]
 

shortcut to get the view matrix (transposed version) . It is stored each time a new frame is processed.

Definition at line 249 of file particle_system.h.

void NL3D::CParticleSystem::remove ( CParticleSystemProcess * ptr )
 

remove a process It is deleted by the system if not present -> nl assert.

Definition at line 167 of file particle_system.cpp.

void NL3D::CParticleSystem::serial ( NLMISC::IStream & f ) throw (NLMISC::EStream)
 

serialize this particle system.

Definition at line 128 of file particle_system.cpp.

void NL3D::CParticleSystem::setFontGenerator ( CFontGenerator * fg ) [inline]
 

Set a font generator. Useful only for edition. don't need that in runtime.

Definition at line 252 of file particle_system.h.

void NL3D::CParticleSystem::setFontManager ( CFontManager * fg ) [inline]
 

Set a font Manager. Useful only for edition. don't need that in runtime.

Definition at line 261 of file particle_system.h.

void NL3D::CParticleSystem::setSysMat ( const CMatrix & m )
 

Set the matrix for the system.

This only affect elements that are in the same basis you don't need to call this if it is used in a CPaticleSystemModel : Call ITransformable method. In this case , setSysMat will be called automatically when needed to mirror the ITransformable matrix

Definition at line 209 of file particle_system.cpp.

void NL3D::CParticleSystem::step ( TPSProcessPass pass,
CAnimationTime ellapsedTime ) [virtual]
 

execute all the process of the system.

Parameters:
ellapsedTime   The ellapsed time since the last call
pass   the pass to be executed

Definition at line 112 of file particle_system.cpp.


Member Data Documentation

CFontGenerator * NL3D::CParticleSystem::_FontGenerator [protected]
 

Definition at line 278 of file particle_system.h.

CFontManager * NL3D::CParticleSystem::_FontManager [protected]
 

Definition at line 279 of file particle_system.h.

CMatrix NL3D::CParticleSystem::_InvSysMat [protected]
 

Definition at line 285 of file particle_system.h.

uint32 NL3D::CParticleSystem::_NbParticlesDrawn = 0 [static]
 

used for benchs.

Definition at line 44 of file particle_system.cpp.

TProcessVect NL3D::CParticleSystem::_ProcessVect [protected]
 

Definition at line 277 of file particle_system.h.

CMatrix NL3D::CParticleSystem::_SysMat [protected]
 

Definition at line 283 of file particle_system.h.

CMatrix NL3D::CParticleSystem::_ViewMat [protected]
 

Definition at line 281 of file particle_system.h.


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