From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/classNL3D_1_1CPSEmitter.html | 2588 +++++++++++++++++++++++++ 1 file changed, 2588 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1CPSEmitter.html (limited to 'docs/doxygen/nel/classNL3D_1_1CPSEmitter.html') diff --git a/docs/doxygen/nel/classNL3D_1_1CPSEmitter.html b/docs/doxygen/nel/classNL3D_1_1CPSEmitter.html new file mode 100644 index 00000000..6a629393 --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1CPSEmitter.html @@ -0,0 +1,2588 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# 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. +More... +

+#include <ps_emitter.h> +

+

Inheritance diagram for NL3D::CPSEmitter: +

+ +NL3D::CPSLocatedBindable +NLMISC::IStreamable +NLMISC::IClassable +NL3D::CPSEmitterDirectionnal +NL3D::CPSEmitterOmni +NL3D::CPSEmitterRectangle +NL3D::CPSSphericalEmitter +NL3D::CPSEmitterConic +NL3D::CPSRadialEmitter + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  TEmissionType {
+  regular = 0, +onDeath = 1, +once = 2, +onBounce = 3, +
+  externEmit = 4 +
+ }
 The type of emission. More...


Public Methods

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

virtual uint32 getPriority (void) const
 Return priority for emitters. More...

virtual bool hasEmitters (void)
 Return true if this located bindable derived class holds alive emitters. More...

virtual void step (TPSProcessPass pass, TAnimationTime ellapsedTime, TAnimationTime realEllapsedTime)
 ==========================================================================. More...

virtual void showTool (void)
 ==========================================================================. More...

void setEmittedType (CPSLocated *et)
 ==========================================================================. More...

virtual void notifyTargetRemoved (CPSLocated *ptr)
 ==========================================================================. More...

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

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

void setEmissionType (TEmissionType freqType)
 ==========================================================================. More...

TEmissionType getEmissionType (void) const
 Get the frequency type. More...

void setPeriod (float period)
 ==========================================================================. More...

float getPeriod (void) const
 Retrieve the period for emission, valid only if a period scheme is used. More...

bool usePeriodScheme (void)
 Indicate whether a period scheme is used or not. More...

void setPeriodScheme (CPSAttribMaker< float > *scheme)
 ==========================================================================. More...

CPSAttribMaker< float > * getPeriodScheme (void)
const CPSAttribMaker< float > * getPeriodScheme (void) const
void setEmitDelay (float delay)
 Set a delay in seconds before the first emission (regular emitter only). More...

float getEmitDelay () const
 Get the delay in seconds before the first emission (regular emitter only). More...

void setMaxEmissionCount (uint8 count)
 ==========================================================================. More...

uint8 getMaxEmissionCount () const
 Get the max. number of particle emission (0 means no limit and is the default). Applies with regular emitter only. More...

void setGenNb (uint32 GenNb)
 ==========================================================================. More...

uint getGenNb (void) const
 Retrieve the GenNb for emission, valid only if a GenNb scheme is used. More...

bool useGenNbScheme (void)
 Indicate whether a GenNb scheme is used or not. More...

void setGenNbScheme (CPSAttribMaker< uint32 > *scheme)
 ==========================================================================. More...

CPSAttribMaker< uint32 > * getGenNbScheme (void)
 Retrieve the GenNb scheme, or null, if there'isnt. More...

const CPSAttribMaker< uint32 > * getGenNbScheme (void) const
 Retrieve the GenNb scheme, or null, if there'isnt (const version). More...

void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 ==========================================================================. More...

void singleEmit (uint32 index, uint quantity)
 ==========================================================================. More...

void enableConsistenEmission (bool enable)
 Enable consistent emission. More...

bool isConsistentEmissionEnabled () const
virtual void releaseRefTo (const CParticleSystemProcess *other)
 ==========================================================================. More...

virtual void releaseAllRef ()
 Release any reference this obj may have to other process of the system For example, this is used when detaching a located bindable from a system. More...

Object
 CPSEmitter ()
 Constructor. More...

virtual ~CPSEmitter ()
 ==========================================================================. More...

Speed vector options
void setSpeedInheritanceFactor (float fact)
 Set a factor, to add the emitter speed to the emittee creation speed. More...

float getSpeedInheritanceFactor (void) const
 Get the speed Inheritance factor. More...

void enableSpeedBasisEmission (bool enabled=true)
 This use the speed of the emitter to create a basis (like with cameras), and express the emission speed in it. More...

bool isSpeedBasisEmissionEnabled (void) const
 Check if the speed basis emission is enabled. More...

void setSpeedVectorInEmitterBasis (bool enable)
 Set the basis for the direction of emission. More...

bool isSpeedVectorInEmitterBasis (void) const
 Test wether the emission direction is in the system basis. More...


Protected Methods

void processEmit (uint32 index, sint nbToGenerate)
 ==========================================================================. More...

void processEmitConsistent (const NLMISC::CVector &emitterPos, uint32 emitterIndex, sint nbToGenerate, TAnimationTime deltaT, TAnimationTime ellapsedTime, float realEllapsedTimeRatio)
 ==========================================================================. More...

void processRegularEmission (TAnimationTime ellapsedTime)
 ==========================================================================. More...

void processRegularEmissionConsistent (TAnimationTime ellapsedTime, float realEllapsedTimeRatio)
 ==========================================================================. More...

virtual void emit (const NLMISC::CVector &srcPos, uint32 index, NLMISC::CVector &pos, NLMISC::CVector &speed)=0
 This method is called each time one (and only one) located must be emitted. More...

virtual void newElement (CPSLocated *emitterLocated, uint32 emitterIndex)
 ==========================================================================. More...

virtual void deleteElement (uint32 index)
 ==========================================================================. More...

virtual void resize (uint32 size)
 ==========================================================================. More...

virtual void bounceOccured (uint32 index)
 ==========================================================================. More...

void updateMaxCountVect ()
 ==========================================================================. More...


Protected Attributes

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

TPSAttribFloat _Phase
 The phase ( 0 < phase < period of emission). More...

TPSAttribUInt8 _NumEmission
float _SpeedInheritanceFactor
TEmissionType _EmissionType
float _Period
CPSAttribMaker< float > * _PeriodScheme
uint32 _GenNb
CPSAttribMaker< uint32 > * _GenNbScheme
float _EmitDelay
uint8 _MaxEmissionCount
bool _SpeedBasisEmission
bool _EmitDirBasis
bool _ConsistentEmission
+

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. Not sharable accross systems. +

+

+Author:
+Nicolas Vizerie , Nevrax France
+Date:
+2001
+

+ +

+Definition at line 49 of file ps_emitter.h.


Member Enumeration Documentation

+

+ + + + +
+ + +
enum NL3D::CPSEmitter::TEmissionType +
+
+ + + + + +
+   + + +

+The type of emission. +

+regular : means use Period, and generation number (the number of particle to generate when an emission occurs) onDeath : emit when the emitter is destroyed once : emit when the emitter is created onBounce : emit when the emitter bounce externEmit : emitted explicitly by the system user. A 4 letter id must be used to identify this kind of emitters the default ID is NONE

+Enumeration values:
+ + + + + + +
regular  +
onDeath  +
once  +
onBounce  +
externEmit  +
+
+ +

+Definition at line 106 of file ps_emitter.h. +

+Referenced by getEmissionType.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CPSEmitter::CPSEmitter  
+
+ + + + + +
+   + + +

+Constructor. +

+ +

+Definition at line 45 of file ps_emitter.cpp.

+

+ + + + +
+ + + + + + + + + +
NL3D::CPSEmitter::~CPSEmitter   [virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 62 of file ps_emitter.cpp. +

+References _EmittedType, _GenNbScheme, and _PeriodScheme.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::bounceOccured uint32   index [protected, virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Reimplemented from NL3D::CPSLocatedBindable. +

+Definition at line 997 of file ps_emitter.cpp. +

+References _EmissionType, _GenNb, _GenNbScheme, NL3D::CPSLocatedBindable::_Owner, index, and processEmit.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::deleteElement uint32   index [protected, virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Implements NL3D::CPSLocatedBindable. +

+Reimplemented in NL3D::CPSEmitterDirectionnal. +

+Definition at line 965 of file ps_emitter.cpp. +

+References _EmissionType, _EmittedType, _GenNb, _GenNbScheme, _MaxEmissionCount, _NumEmission, NL3D::CPSLocatedBindable::_Owner, _PeriodScheme, _Phase, index, and processEmit.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual void NL3D::CPSEmitter::emit const NLMISC::CVector  srcPos,
uint32   index,
NLMISC::CVector  pos,
NLMISC::CVector  speed
[protected, pure virtual]
+
+ + + + + +
+   + + +

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

+DERIVERS MUST DEFINE THIS

+Parameters:
+ + + + + +
srcPos  +the source position of the emitter (with eventually a correction)
index  +the index of the emitter in the tab that generated a located
pos  +the resulting pos of the particle, expressed in the emitter basis
speed  +the reulting speed of the emitter, expressed in the emitter basis
+
+

+Implemented in NL3D::CPSEmitterDirectionnal. +

+Referenced by processEmit, and processEmitConsistent.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::enableConsistenEmission bool   enable [inline]
+
+ + + + + +
+   + + +

+Enable consistent emission. +

+The default is false. This try to keep the number of emitted particle constant, by allowing more than one emission cycle per iteration. This is useful to deal with poor frmerate. This has several drawbacks though :

    +
  • collisions are not properly supported in this case (may be resolved later).
  • The motion is in straight lines.
  • It assumes that emitter has no motion (for now). In fact, this should be used when there can't be collisions with the emitted particles, and with main emitters only. NB : this has no effect if the emission period is 0 (which mean emit at each frame)
+ +

+Definition at line 221 of file ps_emitter.h. +

+References _ConsistentEmission.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::enableSpeedBasisEmission bool   enabled = true [inline]
+
+ + + + + +
+   + + +

+This use the speed of the emitter to create a basis (like with cameras), and express the emission speed in it. +

+ +

+Definition at line 187 of file ps_emitter.h. +

+References _SpeedBasisEmission.

+

+ + + + +
+ + + + + + + + + + +
TEmissionType NL3D::CPSEmitter::getEmissionType void   const [inline]
+
+ + + + + +
+   + + +

+Get the frequency type. +

+ +

+Definition at line 113 of file ps_emitter.h. +

+References _EmissionType, and TEmissionType.

+

+ + + + +
+ + + + + + + + + +
float NL3D::CPSEmitter::getEmitDelay   const [inline]
+
+ + + + + +
+   + + +

+Get the delay in seconds before the first emission (regular emitter only). +

+ +

+Definition at line 139 of file ps_emitter.h. +

+References _EmitDelay.

+

+ + + + +
+ + + + + + + + + + +
const CPSLocated* NL3D::CPSEmitter::getEmittedType void   const [inline]
+
+ + + + + +
+   + + +

+Get const ptr on emitted type. +

+ +

+Definition at line 95 of file ps_emitter.h. +

+References _EmittedType, and NL3D::CPSLocatedBindable::CPSLocated.

+

+ + + + +
+ + + + + + + + + + +
CPSLocated* NL3D::CPSEmitter::getEmittedType void   [inline]
+
+ + + + + +
+   + + +

+Get emitted type. +

+ +

+Definition at line 93 of file ps_emitter.h. +

+References _EmittedType, and NL3D::CPSLocatedBindable::CPSLocated.

+

+ + + + +
+ + + + + + + + + + +
uint NL3D::CPSEmitter::getGenNb void   const [inline]
+
+ + + + + +
+   + + +

+Retrieve the GenNb for emission, valid only if a GenNb scheme is used. +

+ +

+Definition at line 153 of file ps_emitter.h. +

+References _GenNb.

+

+ + + + +
+ + + + + + + + + + +
const CPSAttribMaker<uint32>* NL3D::CPSEmitter::getGenNbScheme void   const [inline]
+
+ + + + + +
+   + + +

+Retrieve the GenNb scheme, or null, if there'isnt (const version). +

+ +

+Definition at line 165 of file ps_emitter.h. +

+References _GenNbScheme.

+

+ + + + +
+ + + + + + + + + + +
CPSAttribMaker<uint32>* NL3D::CPSEmitter::getGenNbScheme void   [inline]
+
+ + + + + +
+   + + +

+Retrieve the GenNb scheme, or null, if there'isnt. +

+ +

+Definition at line 162 of file ps_emitter.h. +

+References _GenNbScheme.

+

+ + + + +
+ + + + + + + + + +
uint8 NL3D::CPSEmitter::getMaxEmissionCount   const [inline]
+
+ + + + + +
+   + + +

+Get the max. number of particle emission (0 means no limit and is the default). Applies with regular emitter only. +

+ +

+Definition at line 145 of file ps_emitter.h. +

+References _MaxEmissionCount.

+

+ + + + +
+ + + + + + + + + + +
float NL3D::CPSEmitter::getPeriod void   const [inline]
+
+ + + + + +
+   + + +

+Retrieve the period for emission, valid only if a period scheme is used. +

+ +

+Definition at line 121 of file ps_emitter.h. +

+References _Period.

+

+ + + + +
+ + + + + + + + + + +
const CPSAttribMaker<float>* NL3D::CPSEmitter::getPeriodScheme void   const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 133 of file ps_emitter.h. +

+References _PeriodScheme.

+

+ + + + +
+ + + + + + + + + + +
CPSAttribMaker<float>* NL3D::CPSEmitter::getPeriodScheme void   [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 130 of file ps_emitter.h. +

+References _PeriodScheme.

+

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

+Return priority for emitters. +

+ +

+Implements NL3D::CPSLocatedBindable. +

+Definition at line 67 of file ps_emitter.h.

+

+ + + + +
+ + + + + + + + + + +
float NL3D::CPSEmitter::getSpeedInheritanceFactor void   const [inline]
+
+ + + + + +
+   + + +

+Get the speed Inheritance factor. +

+ +

+Definition at line 181 of file ps_emitter.h. +

+References _SpeedInheritanceFactor.

+

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

+Return this bindable type. +

+ +

+Implements NL3D::CPSLocatedBindable. +

+Definition at line 63 of file ps_emitter.h. +

+References NL3D::PSEmitter.

+

+ + + + +
+ + + + + + + + + + +
virtual bool NL3D::CPSEmitter::hasEmitters void   [inline, virtual]
+
+ + + + + +
+   + + +

+Return true if this located bindable derived class holds alive emitters. +

+ +

+Definition at line 70 of file ps_emitter.h. +

+References NL3D::CPSLocatedBindable::_Owner, and nlassert.

+

+ + + + +
+ + + + + + + + + +
bool NL3D::CPSEmitter::isConsistentEmissionEnabled   const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 223 of file ps_emitter.h. +

+References _ConsistentEmission.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSEmitter::isSpeedBasisEmissionEnabled void   const [inline]
+
+ + + + + +
+   + + +

+Check if the speed basis emission is enabled. +

+

+See also:
+enableSpeedBasisEmission()
+

+Definition at line 195 of file ps_emitter.h. +

+References _SpeedBasisEmission.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSEmitter::isSpeedVectorInEmitterBasis void   const [inline]
+
+ + + + + +
+   + + +

+Test wether the emission direction is in the system basis. +

+ +

+Definition at line 207 of file ps_emitter.h. +

+References _EmitDirBasis.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CPSEmitter::newElement CPSLocated  emitterLocated,
uint32   emitterIndex
[protected, virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+They are generated according to the propertie of the class +

+Implements NL3D::CPSLocatedBindable. +

+Reimplemented in NL3D::CPSEmitterDirectionnal. +

+Definition at line 950 of file ps_emitter.cpp. +

+References _GenNbScheme, _MaxEmissionCount, _NumEmission, _PeriodScheme, _Phase, and nlassert.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::notifyTargetRemoved CPSLocated  ptr [virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Reimplemented from NL3D::CPSLocatedBindable. +

+Definition at line 316 of file ps_emitter.cpp. +

+References _EmittedType, nlassert, and setEmittedType.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CPSEmitter::processEmit uint32   index,
sint   nbToGenerate
[inline, protected]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 89 of file ps_emitter.cpp. +

+References _EmittedType, NL3D::CPSLocatedBindable::_Owner, _SpeedBasisEmission, _SpeedInheritanceFactor, emit, and index. +

+Referenced by bounceOccured, deleteElement, processRegularEmission, processRegularEmissionConsistent, singleEmit, and step.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CPSEmitter::processEmitConsistent const NLMISC::CVector  emitterPos,
uint32   emitterIndex,
sint   nbToGenerate,
TAnimationTime   deltaT,
TAnimationTime   ellapsedTime,
float   realEllapsedTimeRatio
[inline, protected]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 217 of file ps_emitter.cpp. +

+References _EmittedType, NL3D::CPSLocatedBindable::_Owner, _SpeedBasisEmission, _SpeedInheritanceFactor, NL3D::CompensateEmission, emit, index, and NL3D::TAnimationTime. +

+Referenced by processRegularEmissionConsistent.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::processRegularEmission TAnimationTime   ellapsedTime [protected]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 413 of file ps_emitter.cpp. +

+References _EmitDelay, _GenNb, _GenNbScheme, _MaxEmissionCount, _NumEmission, NL3D::CPSLocatedBindable::_Owner, _Period, _PeriodScheme, _Phase, NL3D::emitterBuffSize, nlassert, processEmit, and NL3D::TAnimationTime. +

+Referenced by step.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CPSEmitter::processRegularEmissionConsistent TAnimationTime   ellapsedTime,
float   realEllapsedTimeRatio
[protected]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 601 of file ps_emitter.cpp. +

+References _EmitDelay, _EmittedType, _GenNb, _GenNbScheme, _MaxEmissionCount, _NumEmission, NL3D::CPSLocatedBindable::_Owner, _Period, _PeriodScheme, _Phase, NL3D::emitterBuffSize, NL3D::GenEmitterPositions, min, processEmit, processEmitConsistent, and NL3D::TAnimationTime. +

+Referenced by step.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CPSEmitter::releaseAllRef   [virtual]
+
+ + + + + +
+   + + +

+Release any reference this obj may have to other process of the system For example, this is used when detaching a located bindable from a system. +

+ +

+Reimplemented from NL3D::CPSLocatedBindable. +

+Definition at line 82 of file ps_emitter.cpp. +

+References setEmittedType.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::releaseRefTo const CParticleSystemProcess  other [virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+For example, this is used when detaching a located bindable from a system. +

+Reimplemented from NL3D::CPSLocatedBindable. +

+Definition at line 74 of file ps_emitter.cpp. +

+References _EmittedType, and setEmittedType.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::resize uint32   size [protected, virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+DERIVERS SHOULD CALL THEIR PARENT VERSION should not be called directly. Call CPSLocated::resize instead +

+Implements NL3D::CPSLocatedBindable. +

+Reimplemented in NL3D::CPSEmitterDirectionnal. +

+Definition at line 984 of file ps_emitter.cpp. +

+References _GenNbScheme, _MaxEmissionCount, _NumEmission, NL3D::CPSLocatedBindable::_Owner, _PeriodScheme, _Phase, and nlassert.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::serial NLMISC::IStream  f throw (NLMISC::EStream) [virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Reimplemented from NL3D::CPSLocatedBindable. +

+Reimplemented in NL3D::CPSEmitterDirectionnal. +

+Definition at line 1008 of file ps_emitter.cpp.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setEmissionType TEmissionType   freqType
+
+ + + + + +
+   + + +

+==========================================================================. +

+Please note that if the type is externEmit, this located need to have been attached to the system (the system is holding the ID-Located map) +

+Definition at line 295 of file ps_emitter.cpp. +

+References _EmissionType.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setEmitDelay float   delay [inline]
+
+ + + + + +
+   + + +

+Set a delay in seconds before the first emission (regular emitter only). +

+ +

+Definition at line 136 of file ps_emitter.h. +

+References _EmitDelay.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setEmittedType CPSLocated  et
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 301 of file ps_emitter.cpp. +

+References _EmittedType. +

+Referenced by notifyTargetRemoved, releaseAllRef, and releaseRefTo.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setGenNb uint32   GenNb
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 342 of file ps_emitter.cpp. +

+References _GenNb, and _GenNbScheme.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setGenNbScheme CPSAttribMaker< uint32 > *   scheme
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 353 of file ps_emitter.cpp. +

+References _GenNbScheme, and NL3D::CPSLocatedBindable::_Owner.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setMaxEmissionCount uint8   count
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 1131 of file ps_emitter.cpp. +

+References _MaxEmissionCount, and updateMaxCountVect.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setPeriod float   period
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 323 of file ps_emitter.cpp. +

+References _Period, and _PeriodScheme.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setPeriodScheme CPSAttribMaker< float > *   scheme
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 334 of file ps_emitter.cpp. +

+References NL3D::CPSLocatedBindable::_Owner, and _PeriodScheme.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setSpeedInheritanceFactor float   fact [inline]
+
+ + + + + +
+   + + +

+Set a factor, to add the emitter speed to the emittee creation speed. +

+this can be < 0 The default is 0 +

+Definition at line 175 of file ps_emitter.h. +

+References _SpeedInheritanceFactor.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::setSpeedVectorInEmitterBasis bool   enable [inline]
+
+ + + + + +
+   + + +

+Set the basis for the direction of emission. +

+When set to true, the direction is in the emitter basis (this is the default), otherwise it is used directly as the world basis speed vector if the emitter it is the system basis, and vice-versa. NB : if 'speedBasisEmission' is enabled , or if the speed inheritance factor is not null, it has no effect. +

+Definition at line 204 of file ps_emitter.h. +

+References _EmitDirBasis.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSEmitter::showTool void   [virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Reimplemented in NL3D::CPSEmitterRectangle. +

+Definition at line 361 of file ps_emitter.cpp. +

+References NL3D::CPSLocatedBindable::_Owner, NL3D::CPSLocatedBindable::computeI, NL3D::CPSLocatedBindable::computeK, NL3D::CPSLocatedBindable::CPSLocated, NL3D::CPSLocatedBindable::CPSLocatedBindable, NL3D::CPSLocatedBindable::getDriver, index, NLAISCRIPT::l, NL3D::CPSLocatedBindable::setupDriverModelMatrix, NLMISC::CLine::V0, and NLMISC::CLine::V1. +

+Referenced by step.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CPSEmitter::singleEmit uint32   index,
uint   quantity
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 404 of file ps_emitter.cpp. +

+References _GenNb, _GenNbScheme, NL3D::CPSLocatedBindable::_Owner, index, nlassert, and processEmit.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CPSEmitter::step TPSProcessPass   pass,
TAnimationTime   ellapsedTime,
TAnimationTime   realEllapsedTime
[virtual]
+
+ + + + + +
+   + + +

+==========================================================================. +

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

+Implements NL3D::CPSLocatedBindable. +

+Definition at line 900 of file ps_emitter.cpp. +

+References _ConsistentEmission, _EmittedType, _GenNb, _GenNbScheme, NL3D::CPSLocatedBindable::_Owner, _Phase, processEmit, processRegularEmission, processRegularEmissionConsistent, NL3D::PSEmit, NL3D::PSToolRender, showTool, NL3D::TAnimationTime, and NL3D::TPSProcessPass.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CPSEmitter::updateMaxCountVect   [protected]
+
+ + + + + +
+   + + +

+==========================================================================. +

+ +

+Definition at line 1109 of file ps_emitter.cpp. +

+References _MaxEmissionCount, _NumEmission, NL3D::CPSLocatedBindable::_Owner, and nlassert. +

+Referenced by setMaxEmissionCount.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSEmitter::useGenNbScheme void   [inline]
+
+ + + + + +
+   + + +

+Indicate whether a GenNb scheme is used or not. +

+ +

+Definition at line 156 of file ps_emitter.h. +

+References _GenNbScheme.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSEmitter::usePeriodScheme void   [inline]
+
+ + + + + +
+   + + +

+Indicate whether a period scheme is used or not. +

+ +

+Definition at line 124 of file ps_emitter.h. +

+References _PeriodScheme.

+


Member Data Documentation

+

+ + + + +
+ + +
bool NL3D::CPSEmitter::_ConsistentEmission [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 305 of file ps_emitter.h. +

+Referenced by enableConsistenEmission, isConsistentEmissionEnabled, and step.

+

+ + + + +
+ + +
TEmissionType NL3D::CPSEmitter::_EmissionType [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 296 of file ps_emitter.h. +

+Referenced by bounceOccured, deleteElement, getEmissionType, and setEmissionType.

+

+ + + + +
+ + +
float NL3D::CPSEmitter::_EmitDelay [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 301 of file ps_emitter.h. +

+Referenced by getEmitDelay, processRegularEmission, processRegularEmissionConsistent, and setEmitDelay.

+

+ + + + +
+ + +
bool NL3D::CPSEmitter::_EmitDirBasis [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 304 of file ps_emitter.h. +

+Referenced by isSpeedVectorInEmitterBasis, and setSpeedVectorInEmitterBasis.

+

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

+A pointer on the type to be emitted. +

+ +

+Definition at line 288 of file ps_emitter.h. +

+Referenced by deleteElement, NL3D::CPSRadialEmitter::emit, NL3D::CPSEmitterConic::emit, NL3D::CPSEmitterDirectionnal::emit, getEmittedType, notifyTargetRemoved, processEmit, processEmitConsistent, processRegularEmissionConsistent, releaseRefTo, setEmittedType, step, and ~CPSEmitter.

+

+ + + + +
+ + +
uint32 NL3D::CPSEmitter::_GenNb [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 299 of file ps_emitter.h. +

+Referenced by bounceOccured, deleteElement, getGenNb, processRegularEmission, processRegularEmissionConsistent, setGenNb, singleEmit, and step.

+

+ + + + +
+ + +
CPSAttribMaker<uint32>* NL3D::CPSEmitter::_GenNbScheme [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 300 of file ps_emitter.h. +

+Referenced by bounceOccured, deleteElement, getGenNbScheme, newElement, processRegularEmission, processRegularEmissionConsistent, resize, setGenNb, setGenNbScheme, singleEmit, step, useGenNbScheme, and ~CPSEmitter.

+

+ + + + +
+ + +
uint8 NL3D::CPSEmitter::_MaxEmissionCount [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 302 of file ps_emitter.h. +

+Referenced by deleteElement, getMaxEmissionCount, newElement, processRegularEmission, processRegularEmissionConsistent, resize, setMaxEmissionCount, and updateMaxCountVect.

+

+ + + + +
+ + +
TPSAttribUInt8 NL3D::CPSEmitter::_NumEmission [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 293 of file ps_emitter.h. +

+Referenced by deleteElement, newElement, processRegularEmission, processRegularEmissionConsistent, resize, and updateMaxCountVect.

+

+ + + + +
+ + +
float NL3D::CPSEmitter::_Period [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 297 of file ps_emitter.h. +

+Referenced by getPeriod, processRegularEmission, processRegularEmissionConsistent, and setPeriod.

+

+ + + + +
+ + +
CPSAttribMaker<float>* NL3D::CPSEmitter::_PeriodScheme [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 298 of file ps_emitter.h. +

+Referenced by deleteElement, getPeriodScheme, newElement, processRegularEmission, processRegularEmissionConsistent, resize, setPeriod, setPeriodScheme, usePeriodScheme, and ~CPSEmitter.

+

+ + + + +
+ + +
TPSAttribFloat NL3D::CPSEmitter::_Phase [protected] +
+
+ + + + + +
+   + + +

+The phase ( 0 < phase < period of emission). +

+This is the time ellapsed since the last emission +

+Definition at line 292 of file ps_emitter.h. +

+Referenced by deleteElement, newElement, processRegularEmission, processRegularEmissionConsistent, resize, and step.

+

+ + + + +
+ + +
bool NL3D::CPSEmitter::_SpeedBasisEmission [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 303 of file ps_emitter.h. +

+Referenced by enableSpeedBasisEmission, isSpeedBasisEmissionEnabled, processEmit, and processEmitConsistent.

+

+ + + + +
+ + +
float NL3D::CPSEmitter::_SpeedInheritanceFactor [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 295 of file ps_emitter.h. +

+Referenced by getSpeedInheritanceFactor, processEmit, processEmitConsistent, and setSpeedInheritanceFactor.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1