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

base class for all emitters in a particle system Derivers should at least define the emit method which is called each time an emission is needed (and the getClassName method). More...

#include <ps_emitter.h>

Inheritance diagram for NL3D::CPSEmitter

Inheritance graph
[legend]
Collaboration diagram for NL3D::CPSEmitter:

Collaboration graph
[legend]
List of all members.

Public Methods

 CPSEmitter ()
 Constructor. More...

uint32 getType (void) const
 return this bindable type. More...

virtual uint32 getPriority (void) const
 return priority for forces. More...

virtual void step (TPSProcessPass pass, CAnimationTime ellapsedTime)
 Process the emissions. More...

virtual bool newElement (void)
 Generate a new element for this bindable. More...

virtual void deleteElement (uint32 index)
 Delete an element given its index Attributes of the located that hold this bindable are still accessible for of the index given index out of range -> nl_assert. More...

virtual void resize (uint32 size)
 Resize the bindable attributes containers. DERIVERS SHOULD CALL THEIR PARENT VERSION. More...

void setEmittedType (CPSLocated *et)
 set thetype of located to be emitted. THIS MUST BE CALLED. More...

CPSLocatedgetEmittedType (void)
 get emitted type. More...

const CPSLocatedgetEmittedType (void) const
 get const ptr on emitted type. More...

virtual void serial (NLMISC::IStream &f)
 Serialization. More...


Public Attributes

CPSFrequency _Freq
 the emission frequency fill this struct with the desired params. More...


Protected Methods

virtual void emit (uint32 index) = 0
 This method is called each time one (and only one) located must be emitted. More...


Protected Attributes

CPSLocated_EmittedType
 a pointer on the type to be emitted. More...

TPSAttribFloat _Phase
 the phase ( 0 < phase < period of emission) its usage depends on the freq member. More...


Detailed Description

base class for all emitters in a particle system Derivers should at least define the emit method which is called each time an emission is needed (and the getClassName method).

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

Definition at line 65 of file ps_emitter.h.


Constructor & Destructor Documentation

NL3D::CPSEmitter::CPSEmitter ( )
 

Constructor.

Definition at line 62 of file ps_emitter.cpp.


Member Function Documentation

void NL3D::CPSEmitter::deleteElement ( uint32 index ) [virtual]
 

Delete an element given its index Attributes of the located that hold this bindable are still accessible for of the index given index out of range -> nl_assert.

Reimplemented from NL3D::CPSLocatedBindable.

Definition at line 113 of file ps_emitter.cpp.

void NL3D::CPSEmitter::emit ( uint32 index ) [protected, pure virtual]
 

This method is called each time one (and only one) located must be emitted.

DERIVERS MUST DEFINE THIS

Parameters:
index   the index of the emitter in the tab that generated a located

Reimplemented in NL3D::CPSEmitterOmni.

const CPSLocated * NL3D::CPSEmitter::getEmittedType ( void ) const [inline]
 

get const ptr on emitted type.

Definition at line 109 of file ps_emitter.h.

CPSLocated * NL3D::CPSEmitter::getEmittedType ( void ) [inline]
 

get emitted type.

Definition at line 107 of file ps_emitter.h.

uint32 NL3D::CPSEmitter::getPriority ( void ) const [inline, virtual]
 

return priority for forces.

Reimplemented from NL3D::CPSLocatedBindable.

Definition at line 78 of file ps_emitter.h.

uint32 NL3D::CPSEmitter::getType ( void ) const [inline, virtual]
 

return this bindable type.

Reimplemented from NL3D::CPSLocatedBindable.

Definition at line 74 of file ps_emitter.h.

bool NL3D::CPSEmitter::newElement ( void ) [virtual]
 

Generate a new element for this bindable.

They are generated according to the propertie of the class

Returns:
true if it could be added

Reimplemented from NL3D::CPSLocatedBindable.

Definition at line 99 of file ps_emitter.cpp.

void NL3D::CPSEmitter::resize ( uint32 size ) [virtual]
 

Resize the bindable attributes containers. DERIVERS SHOULD CALL THEIR PARENT VERSION.

Reimplemented from NL3D::CPSLocatedBindable.

Definition at line 125 of file ps_emitter.cpp.

void NL3D::CPSEmitter::serial ( NLMISC::IStream & f ) [virtual]
 

Serialization.

Reimplemented from NL3D::CPSLocatedBindable.

Reimplemented in NL3D::CPSEmitterOmni.

Definition at line 131 of file ps_emitter.cpp.

void NL3D::CPSEmitter::setEmittedType ( CPSLocated * et ) [inline]
 

set thetype of located to be emitted. THIS MUST BE CALLED.

Definition at line 104 of file ps_emitter.h.

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

Process the emissions.

The standard behaviuour will call "emit" each time is needed. So you don't need to redefine this most of the time

Reimplemented from NL3D::CPSLocatedBindable.

Definition at line 67 of file ps_emitter.cpp.


Member Data Documentation

CPSLocated * NL3D::CPSEmitter::_EmittedType [protected]
 

a pointer on the type to be emitted.

Definition at line 128 of file ps_emitter.h.

CPSFrequency NL3D::CPSEmitter::_Freq
 

the emission frequency fill this struct with the desired params.

Definition at line 113 of file ps_emitter.h.

TPSAttribFloat NL3D::CPSEmitter::_Phase [protected]
 

the phase ( 0 < phase < period of emission) its usage depends on the freq member.

Definition at line 133 of file ps_emitter.h.


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