![]() |
VR-Forces 5.0.3 Developer's Guide
|
An emitter class that manages and emits several particles.

Classes | |
| struct | PuffData |
Public Member Functions | |
| DtTacticalSmokeEmitter () | |
| DtTacticalSmokeEmitter (const DtTacticalSmokeEmitter ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| META_Object (osgParticle, DtTacticalSmokeEmitter) | |
| void | setPosition (int puffIndex, const osg::Vec3d &pos) |
| void | setDensity (int puffIndex, float dens) |
| void | setOneSigma (int puffIndex, const osg::Vec3 &sigmas) |
| void | setIntensityRange (float mn, float mx) |
| void | setParticleSizeRange (float isz, float fsz) |
| void | setParticleColorRange (const osg::Vec4 &icl, const osg::Vec4 &fcl) |
| void | setParticleAlphaMultiplier (float alpha) |
Public Member Functions inherited from makVrv::DtImprovedModularEmitter | |
| DtImprovedModularEmitter () | |
| DtImprovedModularEmitter (const DtImprovedModularEmitter ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| DtImprovedModularEmitter (const osgParticle::ModularEmitter &modularEmitter) | |
| virtual | ~DtImprovedModularEmitter () |
| META_Node (vrvOsg, DtImprovedModularEmitter) | |
| virtual void | setMaximumCompensationCount (int count) |
| virtual int | maximumCompensationCount () const |
| virtual void | setCurrentParticlesToEmit (int max) |
| virtual int | currentParticlesToEmit () const |
| virtual void | setWorldToLocalOrigin (const osg::Matrixd &mat) |
Protected Member Functions | |
| virtual void | emitParticles (double dt) |
| virtual | ~DtTacticalSmokeEmitter () |
| DtTacticalSmokeEmitter & | operator= (const DtTacticalSmokeEmitter &) |
Private Types | |
| typedef std::vector< PuffData > | Puffs |
Private Member Functions | |
| PuffData & | puffData (int puffIndex) |
Private Attributes | |
| Puffs | myPuffs |
| osgParticle::rangef | myParticlesPerSec |
| float | myAlphaMultiplier |
Additional Inherited Members | |
Protected Attributes inherited from makVrv::DtImprovedModularEmitter | |
| int | myMaximumCompensationCount |
| osg::Vec3 | myPosition |
| osg::Matrixd | myWorldToLocalOrigin |
| int | myCurrentParticlesToEmit |
A vector of puff-data objects.
| makVrv::DtTacticalSmokeEmitter::DtTacticalSmokeEmitter | ( | ) |
Default CTOR.
| makVrv::DtTacticalSmokeEmitter::DtTacticalSmokeEmitter | ( | const DtTacticalSmokeEmitter & | copy, |
| const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
| ) |
Copy CTOR.
|
inlineprotectedvirtual |
Protected virtual destructor.
| makVrv::DtTacticalSmokeEmitter::META_Object | ( | osgParticle | , |
| DtTacticalSmokeEmitter | |||
| ) |
| void makVrv::DtTacticalSmokeEmitter::setPosition | ( | int | puffIndex, |
| const osg::Vec3d & | pos | ||
| ) |
Set an initial position for a puff of particles.
| [in] | puffIndex | is the index of the puff position. |
| [in] | pos | is the puff position for new particles. |
| void makVrv::DtTacticalSmokeEmitter::setDensity | ( | int | puffIndex, |
| float | dens | ||
| ) |
Set an initial density for a puff of particles.
| [in] | puffIndex | is the index of the puff density. |
| [in] | dens | is the puff density (alpha) for new particles. |
| void makVrv::DtTacticalSmokeEmitter::setOneSigma | ( | int | puffIndex, |
| const osg::Vec3 & | sigmas | ||
| ) |
Set a sigma-distance for a puff of particles.
| [in] | puffIndex | is the index of the puff sigma-distances. |
| [in] | sigmas | is the puff sigma-distances for new particles. |
| void makVrv::DtTacticalSmokeEmitter::setIntensityRange | ( | float | mn, |
| float | mx | ||
| ) |
Set the total number of particles per second for all puffs. This value is divided by the number of puffs and set for each puff, so a value of sixty for six puffs means ten particles per puff.
| [in] | mn | is the minimum number to emit (must be greater than zero). |
| [in] | mx | is the maximum to emit (must be greater or equal to minimum). |
| void makVrv::DtTacticalSmokeEmitter::setParticleSizeRange | ( | float | isz, |
| float | fsz | ||
| ) |
Set the uniform size for all particles in all puffs.
| [in] | isz | is the initial size of each particle (must be greater than zero). |
| [in] | fsz | is the final size of each particle (must be greater than zero). |
| void makVrv::DtTacticalSmokeEmitter::setParticleColorRange | ( | const osg::Vec4 & | icl, |
| const osg::Vec4 & | fcl | ||
| ) |
Set the particle color range. The particles will each change color over their lifetime from an initial color to a final color.
| [in] | icl | is the initial color. |
| [in] | fcl | is the final color. |
| void makVrv::DtTacticalSmokeEmitter::setParticleAlphaMultiplier | ( | float | alpha | ) |
Set the particle initial alpha multiplier. This value is multiplied by the density to create an initial alpha value for each particle. Values should be normalized from zero to one. Invalid values are clamped.
| [in] | alpha | is the multiplier to use. |
|
protectedvirtual |
Emit particles for each of the stored particle types.
| [in] | dt | is the delta-time for this call. |
Reimplemented from makVrv::DtImprovedModularEmitter.
|
inlineprotected |
Protected copy operator.
Get a puff.
| [in] | puffIndex | is the index of the puff. |
|
private |
|
private |
|
private |