![]() |
VR-Forces 4.6 Class Documentation
|
An emitter class that manages and emits several particles. More...

Classes | |
| struct | PuffData |
| Private data for each individual puff of particles. More... | |
Public Member Functions | |
| DtTacticalSmokeEmitter () | |
| Default CTOR. | |
| DtTacticalSmokeEmitter (const DtTacticalSmokeEmitter ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| Copy CTOR. | |
| META_Object (osgParticle, DtTacticalSmokeEmitter) | |
| void | setPosition (int puffIndex, const osg::Vec3d &pos) |
| Set an initial position for a puff of particles. | |
| void | setDensity (int puffIndex, float dens) |
| Set an initial density for a puff of particles. | |
| void | setOneSigma (int puffIndex, const osg::Vec3 &sigmas) |
| Set a sigma-distance for a puff of particles. | |
| void | setIntensityRange (float mn, float mx) |
| Set the total number of particles per second for all puffs. | |
| void | setParticleSizeRange (float isz, float fsz) |
| Set the uniform size for all particles in all puffs. | |
| void | setParticleColorRange (const osg::Vec4 &icl, const osg::Vec4 &fcl) |
| Set the particle color range. | |
| void | setParticleAlphaMultiplier (float alpha) |
| Set the particle initial alpha multiplier. | |
Public Member Functions inherited from makVrv::DtImprovedModularEmitter | |
| DtImprovedModularEmitter () | |
| CTOR. | |
| DtImprovedModularEmitter (const DtImprovedModularEmitter ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| DtImprovedModularEmitter (const osgParticle::ModularEmitter &modularEmitter) | |
| virtual | ~DtImprovedModularEmitter () |
| DTOR. | |
| META_Node (vrvOsg, DtImprovedModularEmitter) | |
| virtual void | setMaximumCompensationCount (int count) |
| Set the maximum number of particles to compensate for motion. | |
| virtual int | maximumCompensationCount () const |
| Get the maximum number of particles to compensate for motion. | |
| virtual void | setCurrentParticlesToEmit (int max) |
| Set the current number of particles to emit. | |
| virtual int | currentParticlesToEmit () const |
| Get the current number of particles to emit. | |
| virtual void | setWorldToLocalOrigin (const osg::Matrixd &mat) |
| Set a transform that will be post-multiplied against the local to world transform when emitting particles. | |
Protected Member Functions | |
| virtual void | emitParticles (double dt) |
| Emit particles for each of the stored particle types. | |
| virtual | ~DtTacticalSmokeEmitter () |
| Protected virtual destructor. | |
| DtTacticalSmokeEmitter & | operator= (const DtTacticalSmokeEmitter &) |
| Protected copy operator. | |
Private Types | |
| typedef std::vector< PuffData > | Puffs |
| A vector of puff-data objects. | |
Private Member Functions | |
| PuffData & | puffData (int puffIndex) |
| Get a puff. | |
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 |
An emitter class that manages and emits several particles.
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 |