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

This class helps tuning the emission strenght. More...

#include <ps_emitter.h>

Inheritance diagram for NL3D::CPSModulatedEmitter:

NL3D::CPSEmitterDirectionnal NL3D::CPSEmitterOmni NL3D::CPSEmitterRectangle NL3D::CPSSphericalEmitter NL3D::CPSEmitterConic NL3D::CPSRadialEmitter List of all members.

Public Methods

 CPSModulatedEmitter ()
 ctor : the default doesn't alter speed. More...

virtual ~CPSModulatedEmitter ()
 dtor. More...

void setEmitteeSpeedScheme (CPSAttribMaker< float > *scheme)
 Set a new scheme for speed modulation. More...

void setEmitteeSpeed (float speed)
 set a constant speed modulation for emittee. More...

float getEmitteeSpeed (void) const
 get the modulation speed (valid only if no scheme is used). More...

CPSAttribMaker< float > * getEmitteeSpeedScheme (void)
 get the speed modulation shceme, or NULL if no one is set. More...

const CPSAttribMaker< float > * getEmitteeSpeedScheme (void) const
 get the speed modulation shceme, or NULL if no one is set (const version). More...

bool useEmitteeSpeedScheme (void) const
 check wether a speed modulation scheme is being used. More...

void serialEmitteeSpeedScheme (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialization. More...


Protected Methods

virtual CPSLocatedgetModulatedEmitterOwner (void)=0
void newEmitteeSpeedElement (CPSLocated *emitter, uint32 emitterIndex)
void deleteEmitteeSpeedElement (uint32 index)
void resizeEmitteeSpeed (uint32 capacity)

Protected Attributes

float _EmitteeSpeed
CPSAttribMaker< float > * _EmitteeSpeedScheme

Detailed Description

This class helps tuning the emission strenght.

It modulate the speed of emitted particle by a coeeficient produced by an attribute maker

Definition at line 315 of file ps_emitter.h.


Constructor & Destructor Documentation

NL3D::CPSModulatedEmitter::CPSModulatedEmitter   [inline]
 

ctor : the default doesn't alter speed.

Definition at line 320 of file ps_emitter.h.

References _EmitteeSpeed, and _EmitteeSpeedScheme.

virtual NL3D::CPSModulatedEmitter::~CPSModulatedEmitter   [inline, virtual]
 

dtor.

Definition at line 325 of file ps_emitter.h.

References _EmitteeSpeedScheme.


Member Function Documentation

void NL3D::CPSModulatedEmitter::deleteEmitteeSpeedElement uint32    index [inline, protected]
 

Definition at line 375 of file ps_emitter.h.

References _EmitteeSpeedScheme, and index.

Referenced by NL3D::CPSSphericalEmitter::deleteElement, NL3D::CPSEmitterRectangle::deleteElement, NL3D::CPSEmitterDirectionnal::deleteElement, and NL3D::CPSEmitterOmni::deleteElement.

float NL3D::CPSModulatedEmitter::getEmitteeSpeed void    const [inline]
 

get the modulation speed (valid only if no scheme is used).

Definition at line 351 of file ps_emitter.h.

References _EmitteeSpeed.

const CPSAttribMaker<float>* NL3D::CPSModulatedEmitter::getEmitteeSpeedScheme void    const [inline]
 

get the speed modulation shceme, or NULL if no one is set (const version).

Definition at line 357 of file ps_emitter.h.

References _EmitteeSpeedScheme.

CPSAttribMaker<float>* NL3D::CPSModulatedEmitter::getEmitteeSpeedScheme void    [inline]
 

get the speed modulation shceme, or NULL if no one is set.

Definition at line 354 of file ps_emitter.h.

References _EmitteeSpeedScheme.

virtual CPSLocated* NL3D::CPSModulatedEmitter::getModulatedEmitterOwner void    [protected, pure virtual]
 

Implemented in NL3D::CPSEmitterDirectionnal.

Referenced by resizeEmitteeSpeed, and setEmitteeSpeedScheme.

void NL3D::CPSModulatedEmitter::newEmitteeSpeedElement CPSLocated   emitter,
uint32    emitterIndex
[inline, protected]
 

Definition at line 370 of file ps_emitter.h.

References _EmitteeSpeedScheme.

Referenced by NL3D::CPSSphericalEmitter::newElement, NL3D::CPSEmitterRectangle::newElement, NL3D::CPSEmitterDirectionnal::newElement, and NL3D::CPSEmitterOmni::newElement.

void NL3D::CPSModulatedEmitter::resizeEmitteeSpeed uint32    capacity [inline, protected]
 

Definition at line 380 of file ps_emitter.h.

References _EmitteeSpeedScheme, and getModulatedEmitterOwner.

Referenced by NL3D::CPSSphericalEmitter::resize, NL3D::CPSEmitterRectangle::resize, NL3D::CPSEmitterDirectionnal::resize, and NL3D::CPSEmitterOmni::resize.

void NL3D::CPSModulatedEmitter::serialEmitteeSpeedScheme NLMISC::IStream   f throw (NLMISC::EStream)
 

serialization.

Definition at line 1144 of file ps_emitter.cpp.

void NL3D::CPSModulatedEmitter::setEmitteeSpeed float    speed [inline]
 

set a constant speed modulation for emittee.

Definition at line 342 of file ps_emitter.h.

References _EmitteeSpeed, and _EmitteeSpeedScheme.

void NL3D::CPSModulatedEmitter::setEmitteeSpeedScheme CPSAttribMaker< float > *    scheme [inline]
 

Set a new scheme for speed modulation.

It must have been allocated with new, and will be destriyed by this object

Definition at line 333 of file ps_emitter.h.

References _EmitteeSpeedScheme, and getModulatedEmitterOwner.

bool NL3D::CPSModulatedEmitter::useEmitteeSpeedScheme void    const [inline]
 

check wether a speed modulation scheme is being used.

Definition at line 360 of file ps_emitter.h.

References _EmitteeSpeedScheme.


Member Data Documentation

float NL3D::CPSModulatedEmitter::_EmitteeSpeed [protected]
 

Definition at line 386 of file ps_emitter.h.

Referenced by CPSModulatedEmitter, NL3D::CPSRadialEmitter::emit, NL3D::CPSEmitterConic::emit, NL3D::CPSEmitterRectangle::emit, NL3D::CPSEmitterDirectionnal::emit, getEmitteeSpeed, and setEmitteeSpeed.

CPSAttribMaker<float>* NL3D::CPSModulatedEmitter::_EmitteeSpeedScheme [protected]
 

Definition at line 387 of file ps_emitter.h.

Referenced by CPSModulatedEmitter, deleteEmitteeSpeedElement, NL3D::CPSRadialEmitter::emit, NL3D::CPSEmitterConic::emit, NL3D::CPSEmitterRectangle::emit, NL3D::CPSEmitterDirectionnal::emit, getEmitteeSpeedScheme, newEmitteeSpeedElement, resizeEmitteeSpeed, setEmitteeSpeed, setEmitteeSpeedScheme, useEmitteeSpeedScheme, and ~CPSModulatedEmitter.


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