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/a03182.html | 659 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 659 insertions(+) create mode 100644 docs/doxygen/nel/a03182.html (limited to 'docs/doxygen/nel/a03182.html') diff --git a/docs/doxygen/nel/a03182.html b/docs/doxygen/nel/a03182.html new file mode 100644 index 00000000..fee87c17 --- /dev/null +++ b/docs/doxygen/nel/a03182.html @@ -0,0 +1,659 @@ + + +NeL: NL3D::CPSModulatedEmitter class Reference + + + +
+

NL3D::CPSModulatedEmitter Class Reference

#include <ps_emitter.h> +

+

Inheritance diagram for NL3D::CPSModulatedEmitter: +

+ +NL3D::CPSEmitterDirectionnal +NL3D::CPSEmitterOmni +NL3D::CPSEmitterRectangle +NL3D::CPSSphericalEmitter +NL3D::CPSEmitterConic +NL3D::CPSRadialEmitter + +

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 369 of file ps_emitter.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

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

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

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

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

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

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

void setEmitteeSpeedScheme (CPSAttribMaker< float > *scheme)
bool useEmitteeSpeedScheme (void) const
 check wether a speed modulation scheme is being used

virtual ~CPSModulatedEmitter ()
 dtor


Protected Member Functions

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

Protected Attributes

float _EmitteeSpeed
CPSAttribMaker< float > * _EmitteeSpeedScheme
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CPSModulatedEmitter::CPSModulatedEmitter  )  [inline]
+
+ + + + + +
+   + + +

+ctor : the default doesn't alter speed +

+ +

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

+References _EmitteeSpeed, and _EmitteeSpeedScheme. +

+

00374                                       : _EmitteeSpeed(1.f), _EmitteeSpeedScheme(NULL)
+00375                 {
+00376                 }
+
+

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

+dtor +

+ +

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

+References _EmitteeSpeedScheme. +

+

00380                 {
+00381                         delete _EmitteeSpeedScheme;
+00382                 }
+
+


Member Function Documentation

+

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

+ +

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

+References _EmitteeSpeedScheme, NL3D::CPSAttribMaker< float >::deleteElement(), NL3D::CPSAttribMaker< float >::hasMemory(), index, and uint32. +

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

+

00430                 {
+00431                         if (_EmitteeSpeedScheme && _EmitteeSpeedScheme->hasMemory()) _EmitteeSpeedScheme->deleteElement(index);
+00432                 }
+
+

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

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

+ +

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

+References _EmitteeSpeed. +

+

00405 { return _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 411 of file ps_emitter.h. +

+References _EmitteeSpeedScheme. +

+

00411 { return _EmitteeSpeedScheme; }
+
+

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

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

+ +

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

+References _EmitteeSpeedScheme. +

+

00408 { return _EmitteeSpeedScheme; }
+
+

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

+ +

+Implemented in NL3D::CPSEmitterDirectionnal, NL3D::CPSEmitterOmni, NL3D::CPSEmitterRectangle, and NL3D::CPSSphericalEmitter. +

+Referenced by resizeEmitteeSpeed(), and setEmitteeSpeedScheme().

+

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

+ +

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

+References _EmitteeSpeedScheme, NL3D::CPSAttribMaker< float >::hasMemory(), NL3D::CPSAttribMaker< float >::newElement(), and uint32. +

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

+

00425                 {
+00426                         if (_EmitteeSpeedScheme && _EmitteeSpeedScheme->hasMemory()) _EmitteeSpeedScheme->newElement(emitter, emitterIndex);
+00427                 }
+
+

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

+ +

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

+References _EmitteeSpeedScheme, getModulatedEmitterOwner(), NL3D::CPSAttribMaker< float >::hasMemory(), NL3D::CPSAttribMaker< float >::resize(), and uint32. +

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

+

00435                 {
+00436                         if (_EmitteeSpeedScheme && _EmitteeSpeedScheme->hasMemory()) _EmitteeSpeedScheme->resize(capacity, getModulatedEmitterOwner()->getSize());
+00437                 }
+
+

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

+serialization +

+ +

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

+

02181 {
+02182         bool useScheme;                 
+02183         if (!f.isReading())
+02184         {
+02185                 useScheme = useEmitteeSpeedScheme();
+02186         }
+02187         f.serial(useScheme);
+02188         if (useScheme)
+02189         {
+02190                 f.serialPolyPtr(_EmitteeSpeedScheme);
+02191         }
+02192         else
+02193         {
+02194                 f.serial(_EmitteeSpeed);
+02195         }
+02196 }
+
+

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

+set a constant speed modulation for emittee +

+ +

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

+References _EmitteeSpeed, and _EmitteeSpeedScheme. +

+

00397                 {
+00398                         delete _EmitteeSpeedScheme;
+00399                         _EmitteeSpeedScheme = NULL;
+00400                         _EmitteeSpeed = speed;
+00401                 
+00402                 }
+
+

+ + + + +
+ + + + + + + + + + +
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 387 of file ps_emitter.h. +

+References _EmitteeSpeedScheme, getModulatedEmitterOwner(), and NL3D::CPSAttribMaker< T >::resize(). +

+

00388                 {
+00389                         delete _EmitteeSpeedScheme;
+00390                         _EmitteeSpeedScheme = scheme;
+00391                         if (getModulatedEmitterOwner() && scheme->hasMemory()) 
+00392                                 scheme->resize(getModulatedEmitterOwner()->getMaxSize(), getModulatedEmitterOwner()->getSize());
+00393                 }
+
+

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

+check wether a speed modulation scheme is being used +

+ +

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

+References _EmitteeSpeedScheme. +

+

00414 { return _EmitteeSpeedScheme != NULL; }
+
+


Field Documentation

+

+ + + + +
+ + +
float NL3D::CPSModulatedEmitter::_EmitteeSpeed [protected] +
+
+ + + + + +
+   + + +

+ +

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

+Referenced by CPSModulatedEmitter(), getEmitteeSpeed(), and setEmitteeSpeed().

+

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

+ +

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

+Referenced by CPSModulatedEmitter(), deleteEmitteeSpeedElement(), getEmitteeSpeedScheme(), newEmitteeSpeedElement(), resizeEmitteeSpeed(), setEmitteeSpeed(), setEmitteeSpeedScheme(), useEmitteeSpeedScheme(), and ~CPSModulatedEmitter().

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 07:18:34 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1