VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions
makVrv::DtParticleEffect Class Reference

This class provides a facade around the osgParticle class hierarchy. More...

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

Classes

struct  DefaultParticleParameters

Public Member Functions

 DtParticleEffect ()
 CTOR.

osg::Group contract functions

Get the name of the object's library/namespace

typedef boost::unordered_map
< osgParticle::ParticleSystem
*, DefaultParticleParameters
ParticleParametersMap
 Get the name of the object's class.
osg::ref_ptr< osg::Group > myEmitterGroup
 Get the name of the object's class.
osg::ref_ptr< osg::Group > myProgramGroup
 Get the name of the object's class.
osg::ref_ptr< osg::Geode > myParticleSystemGeode
 Get the name of the object's class.
osg::ref_ptr< osg::Group > myProxyGroup
 Get the name of the object's class.
osg::ref_ptr< osg::Group > myTransformGroup
 Get the name of the object's class.
std::vector< osg::ref_ptr
< osg::Sequence > > 
mySequences
 Get the name of the object's class.
bool mySequencesLooping
 Get the name of the object's class.
bool mySequencesReverse
 Get the name of the object's class.
osg::ref_ptr
< osg::MatrixTransform > 
myParticleSystemTransform
 Get the name of the object's class.
bool myTransformsSet
 Get the name of the object's class.
bool myUseLocalParticleSystem
 Get the name of the object's class.
osg::Vec3 myPosition
 Get the name of the object's class.
float myScale
 Get the name of the object's class.
float myIntensity
 Get the name of the object's class.
double myStartTime
 Get the name of the object's class.
double myEmitterDuration
 Get the name of the object's class.
int myMaxParticlesToEmit
 Get the name of the object's class.
osg::Vec3 myWind
 Get the name of the object's class.
osg::Vec3 myUp
 Get the name of the object's class.
ParticleParametersMap myDefaultParticleParameters
 Get the name of the object's class.
virtual const charlibraryName () const
 Get the name of the object's class.
virtual const charclassName () const
 Get the name of the object's class.
virtual bool isSameKindAs (const osg::Object *obj) const
 Test for type sameness.
virtual void accept (osg::NodeVisitor &v)
 Get the name of the object's class.
virtual osg::Group * emitterGroup ()
 Get an osg Group containing the emitters for this effect.
virtual osg::Group * programGroup ()
 Get an osg Group containing the programs for this effect.
virtual osg::Group * proxyGroup ()
 Get an osg Group containing the effect's proxy nodes.
virtual osg::Group * transformGroup ()
 Get an osg Group containing transforms placed at the top of the effect.
virtual void setUpEmittersAndPrograms ()=0
 Set the emitter group and program group appropriately.
virtual void buildEffect ()
 Build the effect up from its current state.
virtual bool useLocalParticleSystem ()
 Get a previously set useLocalParticleSystem flag.
virtual void setUseLocalParticleSystem (bool b)
 Included for possible future use.
virtual float scale ()
 Get the current particle system scale factor.
virtual void setScale (float scale)
 Scale the particle system by the specified value.
virtual float intensity ()
 Get a previously set intensity.
virtual void setIntensity (float intensity)
 Included for possible future use.
virtual double startTime ()
 Get the start time of the particle effect.
virtual void setStartTime (double startTime)
 Set the start time of the particle effect.
virtual double emitterDuration ()
 Get the emitter duration previously set.
virtual void setEmitterDuration (double emitterDuration)
 Set the emitter duration.
virtual double particleLifetime ()
 Find the maximum lifetime of any future particle in any of the particle systems that make up this effect.
void setMaxParticlesToEmit (int max)
 Set the maximum number of particles to emit.
int maxParticlesToEmit ()
 Get the maximum number of particles to emit.
virtual osg::Vec3 wind () const
 Get a previously set wind value.
virtual void setWind (const osg::Vec3 wind)
 Set the wind vector.
virtual osg::Vec3 up () const
 Get a previously set up value.
virtual void setUp (const osg::Vec3 up)
 set the up value
virtual void stop ()
 Stop the particle effect.
virtual void start ()
 start the particle effect
virtual void pause ()
 Pause the particle effect.
virtual void resume ()
 resume the particle effect
virtual void setLoopMode (bool loopOn)
 Set whether or not looping is on.
virtual void setReverseAnimation (bool reverse)
 Animations to reverse.
virtual void traverse (osg::NodeVisitor &nv)
 Interrupt CullVisitors to update the transforms.
virtual osg::Node * particleSystemNode ()
 Get the node containing the particle system geometry.
virtual osg::Geode * particleSystemGeode ()
 Get an osg Geode containing drawables for this effect's particle systems.
virtual void setMatrix (const osg::Matrix &mat)
 Set the matrix transform that this particle effect is currently beneath.
void getSizeRange (osgParticle::ParticleSystem *particleSystem, float &min, float &max) const
 The the minimum and maximum particle sizes cached for a particular particle system.
virtual void addParent (osg::Group *parent)
 Specify a group that has this effect as a child node.
virtual void setupParticleScalingDefaults (osgParticle::ParticleSystem *ps)
 Grab the mininum and maximum particle sizes from the particle system.
virtual void setupParticleLightingDefaults (osgParticle::ParticleSystem *ps)
 Set how lighting should affect this particle system.
virtual void scaleDefaultParticleSizes (float scale)
 Scale the size of new particles.
virtual ~DtParticleEffect ()
 DTOR.
 DtParticleEffect (const DtParticleEffect &copy, const osg::CopyOp &copyop)
 Copy CTOR - not implemented.

Detailed Description

This class provides a facade around the osgParticle class hierarchy.

It is comparable with osgParticle::ParticleEffect, but with support for multiple particle systems and designed for inheritance.

Member Typedef Documentation

typedef boost::unordered_map<osgParticle::ParticleSystem*,DefaultParticleParameters> makVrv::DtParticleEffect::ParticleParametersMap
protected

Get the name of the object's class.

Constructor & Destructor Documentation

makVrv::DtParticleEffect::DtParticleEffect ( )

CTOR.

virtual makVrv::DtParticleEffect::~DtParticleEffect ( )
protectedvirtual

DTOR.

makVrv::DtParticleEffect::DtParticleEffect ( const DtParticleEffect copy,
const osg::CopyOp &  copyop 
)
protected

Copy CTOR - not implemented.

Member Function Documentation

virtual const char* makVrv::DtParticleEffect::libraryName ( ) const
virtual

Get the name of the object's class.

virtual const char* makVrv::DtParticleEffect::className ( ) const
virtual

Get the name of the object's class.

virtual bool makVrv::DtParticleEffect::isSameKindAs ( const osg::Object *  obj) const
virtual

Test for type sameness.

virtual void makVrv::DtParticleEffect::accept ( osg::NodeVisitor &  v)
virtual

Get the name of the object's class.

virtual osg::Group* makVrv::DtParticleEffect::emitterGroup ( )
virtual

Get an osg Group containing the emitters for this effect.

virtual osg::Group* makVrv::DtParticleEffect::programGroup ( )
virtual

Get an osg Group containing the programs for this effect.

virtual osg::Group* makVrv::DtParticleEffect::proxyGroup ( )
virtual

Get an osg Group containing the effect's proxy nodes.

virtual osg::Group* makVrv::DtParticleEffect::transformGroup ( )
virtual

Get an osg Group containing transforms placed at the top of the effect.

virtual void makVrv::DtParticleEffect::setUpEmittersAndPrograms ( )
pure virtual

Set the emitter group and program group appropriately.

Implemented in makVrv::DtCopyableParticleEffect.

virtual void makVrv::DtParticleEffect::buildEffect ( )
virtual

Build the effect up from its current state.

virtual bool makVrv::DtParticleEffect::useLocalParticleSystem ( )
virtual

Get a previously set useLocalParticleSystem flag.

virtual void makVrv::DtParticleEffect::setUseLocalParticleSystem ( bool  b)
virtual

Included for possible future use.

This method currently has no effect.

Reimplemented in makVrv::DtCopyableParticleEffect.

virtual float makVrv::DtParticleEffect::scale ( )
virtual

Get the current particle system scale factor.

virtual void makVrv::DtParticleEffect::setScale ( float  scale)
virtual

Scale the particle system by the specified value.

Both the geometry of the system as well as the size of individual particles are scaled.

virtual float makVrv::DtParticleEffect::intensity ( )
virtual

Get a previously set intensity.

virtual void makVrv::DtParticleEffect::setIntensity ( float  intensity)
virtual

Included for possible future use.

This method currently has no effect.

virtual double makVrv::DtParticleEffect::startTime ( )
virtual

Get the start time of the particle effect.

virtual void makVrv::DtParticleEffect::setStartTime ( double  startTime)
virtual

Set the start time of the particle effect.

virtual double makVrv::DtParticleEffect::emitterDuration ( )
virtual

Get the emitter duration previously set.

virtual void makVrv::DtParticleEffect::setEmitterDuration ( double  emitterDuration)
virtual

Set the emitter duration.

This sets the lifetime of future particles emitted, for all emitters in the effect

virtual double makVrv::DtParticleEffect::particleLifetime ( )
virtual

Find the maximum lifetime of any future particle in any of the particle systems that make up this effect.

void makVrv::DtParticleEffect::setMaxParticlesToEmit ( int  max)

Set the maximum number of particles to emit.

int makVrv::DtParticleEffect::maxParticlesToEmit ( )

Get the maximum number of particles to emit.

virtual osg::Vec3 makVrv::DtParticleEffect::wind ( ) const
virtual

Get a previously set wind value.

virtual void makVrv::DtParticleEffect::setWind ( const osg::Vec3  wind)
virtual

Set the wind vector.

virtual osg::Vec3 makVrv::DtParticleEffect::up ( ) const
virtual

Get a previously set up value.

virtual void makVrv::DtParticleEffect::setUp ( const osg::Vec3  up)
virtual

set the up value

virtual void makVrv::DtParticleEffect::stop ( )
virtual

Stop the particle effect.

virtual void makVrv::DtParticleEffect::start ( )
virtual

start the particle effect

virtual void makVrv::DtParticleEffect::pause ( )
virtual

Pause the particle effect.

virtual void makVrv::DtParticleEffect::resume ( )
virtual

resume the particle effect

virtual void makVrv::DtParticleEffect::setLoopMode ( bool  loopOn)
virtual

Set whether or not looping is on.

virtual void makVrv::DtParticleEffect::setReverseAnimation ( bool  reverse)
virtual

Animations to reverse.

virtual void makVrv::DtParticleEffect::traverse ( osg::NodeVisitor &  nv)
virtual

Interrupt CullVisitors to update the transforms.

virtual osg::Node* makVrv::DtParticleEffect::particleSystemNode ( )
virtual

Get the node containing the particle system geometry.

virtual osg::Geode* makVrv::DtParticleEffect::particleSystemGeode ( )
virtual

Get an osg Geode containing drawables for this effect's particle systems.

virtual void makVrv::DtParticleEffect::setMatrix ( const osg::Matrix &  mat)
virtual

Set the matrix transform that this particle effect is currently beneath.

Note that scaling also modifies this matrix, so use of this method may interfere.

void makVrv::DtParticleEffect::getSizeRange ( osgParticle::ParticleSystem *  particleSystem,
float &  min,
float &  max 
) const

The the minimum and maximum particle sizes cached for a particular particle system.

virtual void makVrv::DtParticleEffect::addParent ( osg::Group *  parent)
protectedvirtual

Specify a group that has this effect as a child node.

virtual void makVrv::DtParticleEffect::setupParticleScalingDefaults ( osgParticle::ParticleSystem *  ps)
protectedvirtual

Grab the mininum and maximum particle sizes from the particle system.

These will be scaled when the particle effect is scaled

virtual void makVrv::DtParticleEffect::setupParticleLightingDefaults ( osgParticle::ParticleSystem *  ps)
protectedvirtual

Set how lighting should affect this particle system.

virtual void makVrv::DtParticleEffect::scaleDefaultParticleSizes ( float  scale)
protectedvirtual

Scale the size of new particles.

In addition to scaling the entire effect (which scales the particle positions) the particle sizes also need to be scaled.

Member Data Documentation

osg::ref_ptr<osg::Group> makVrv::DtParticleEffect::myEmitterGroup
protected

Get the name of the object's class.

osg::ref_ptr<osg::Group> makVrv::DtParticleEffect::myProgramGroup
protected

Get the name of the object's class.

osg::ref_ptr<osg::Geode> makVrv::DtParticleEffect::myParticleSystemGeode
protected

Get the name of the object's class.

osg::ref_ptr<osg::Group> makVrv::DtParticleEffect::myProxyGroup
protected

Get the name of the object's class.

osg::ref_ptr<osg::Group> makVrv::DtParticleEffect::myTransformGroup
protected

Get the name of the object's class.

std::vector<osg::ref_ptr<osg::Sequence> > makVrv::DtParticleEffect::mySequences
protected

Get the name of the object's class.

bool makVrv::DtParticleEffect::mySequencesLooping
protected

Get the name of the object's class.

bool makVrv::DtParticleEffect::mySequencesReverse
protected

Get the name of the object's class.

osg::ref_ptr<osg::MatrixTransform> makVrv::DtParticleEffect::myParticleSystemTransform
protected

Get the name of the object's class.

bool makVrv::DtParticleEffect::myTransformsSet
protected

Get the name of the object's class.

bool makVrv::DtParticleEffect::myUseLocalParticleSystem
protected

Get the name of the object's class.

osg::Vec3 makVrv::DtParticleEffect::myPosition
protected

Get the name of the object's class.

float makVrv::DtParticleEffect::myScale
protected

Get the name of the object's class.

float makVrv::DtParticleEffect::myIntensity
protected

Get the name of the object's class.

double makVrv::DtParticleEffect::myStartTime
protected

Get the name of the object's class.

double makVrv::DtParticleEffect::myEmitterDuration
protected

Get the name of the object's class.

int makVrv::DtParticleEffect::myMaxParticlesToEmit
protected

Get the name of the object's class.

osg::Vec3 makVrv::DtParticleEffect::myWind
protected

Get the name of the object's class.

osg::Vec3 makVrv::DtParticleEffect::myUp
protected

Get the name of the object's class.

ParticleParametersMap makVrv::DtParticleEffect::myDefaultParticleParameters
protected

Get the name of the object's class.


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

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)