VR-Forces 4.1 Class Documentation
List of all members | Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
makVrv::DtTacticalSmokeEmitter Class Reference

An emitter class that manages and emits several particles. More...

Inheritance diagram for makVrv::DtTacticalSmokeEmitter:
Inheritance graph
[legend]

Classes

struct  PuffData
 Private data for each individual puff of particles. More...

Public Member Functions

 DtTacticalSmokeEmitter ()
 Default CTOR.
 DtTacticalSmokeEmitter (const DtTacticalSmokeEmitter &copy, const osg::CopyOp &copyop=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 &copy, const osg::CopyOp &copyop=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 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.
DtTacticalSmokeEmitteroperator= (const DtTacticalSmokeEmitter &)
 Protected copy operator.

Private Types

typedef std::vector< PuffDataPuffs
 A vector of puff-data objects.

Private Member Functions

PuffDatapuffData (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
float myDistanceSinceLastCompensationParticle
osg::Matrixd myWorldToLocalOrigin

Detailed Description

An emitter class that manages and emits several particles.

Member Typedef Documentation

A vector of puff-data objects.

Constructor & Destructor Documentation

makVrv::DtTacticalSmokeEmitter::DtTacticalSmokeEmitter ( )

Default CTOR.

makVrv::DtTacticalSmokeEmitter::DtTacticalSmokeEmitter ( const DtTacticalSmokeEmitter copy,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)

Copy CTOR.

virtual makVrv::DtTacticalSmokeEmitter::~DtTacticalSmokeEmitter ( )
inlineprotectedvirtual

Protected virtual destructor.

Member Function Documentation

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.

Parameters
[in]puffIndexis the index of the puff position.
[in]posis the puff position for new particles.
void makVrv::DtTacticalSmokeEmitter::setDensity ( int  puffIndex,
float  dens 
)

Set an initial density for a puff of particles.

Parameters
[in]puffIndexis the index of the puff density.
[in]densis 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.

Parameters
[in]puffIndexis the index of the puff sigma-distances.
[in]sigmasis 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.

Parameters
[in]mnis the minimum number to emit (must be greater than zero).
[in]mxis 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.

Parameters
[in]iszis the initial size of each particle (must be greater than zero).
[in]fszis 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.

Parameters
[in]iclis the initial color.
[in]fclis 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.

Parameters
[in]alphais the multiplier to use.
virtual void makVrv::DtTacticalSmokeEmitter::emitParticles ( double  dt)
protectedvirtual

Emit particles for each of the stored particle types.

Parameters
[in]dtis the delta-time for this call.
Note
Do not call this function directly. This function is automatically called during updates.

Reimplemented from makVrv::DtImprovedModularEmitter.

DtTacticalSmokeEmitter& makVrv::DtTacticalSmokeEmitter::operator= ( const DtTacticalSmokeEmitter )
inlineprotected

Protected copy operator.

PuffData& makVrv::DtTacticalSmokeEmitter::puffData ( int  puffIndex)
private

Get a puff.

Parameters
[in]puffIndexis the index of the puff.
Returns
The puff-data at the given index.
Note
If puffIndex is not found, a new puff-data object is created at that index and then returned.

Member Data Documentation

Puffs makVrv::DtTacticalSmokeEmitter::myPuffs
private
osgParticle::rangef makVrv::DtTacticalSmokeEmitter::myParticlesPerSec
private
float makVrv::DtTacticalSmokeEmitter::myAlphaMultiplier
private

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

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)