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

A particle affect which is copied. More...

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

Public Member Functions

 DtCopyableParticleEffect (const osg::Node *loadedNode, bool useOriginalOsgFluidFrictionOperator=false, bool forceSingleLoopAnimation=false)
 
 DtCopyableParticleEffect (const DtCopyableParticleEffect &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
virtual void setUpEmittersAndPrograms ()
 Set the emitter group and program group appropriately. More...
 
virtual void setUseLocalParticleSystem (bool useLocal)
 Included for possible future use. More...
 
- Public Member Functions inherited from makVrv::DtParticleEffect
 DtParticleEffect ()
 CTOR. More...
 
virtual const charlibraryName () const
 
virtual const charclassName () const
 Get the name of the object's class. More...
 
virtual bool isSameKindAs (const osg::Object *obj) const
 Test for type sameness. More...
 
virtual void accept (osg::NodeVisitor &v)
 
virtual osg::Group * emitterGroup ()
 Get an osg Group containing the emitters for this effect. More...
 
virtual osg::Group * programGroup ()
 Get an osg Group containing the programs for this effect. More...
 
virtual osg::Group * proxyGroup ()
 Get an osg Group containing the effect's proxy nodes. More...
 
virtual osg::Group * transformGroup ()
 Get an osg Group containing transforms placed at the top of the effect. More...
 
virtual void buildEffect ()
 Build the effect up from its current state. More...
 
virtual bool useLocalParticleSystem ()
 Get a previously set useLocalParticleSystem flag. More...
 
virtual float scale () const
 Get the current particle system scale factor. More...
 
virtual void setScale (float scale)
 Scale the particle system by the specified value. More...
 
virtual float intensity ()
 Get a previously set intensity. More...
 
virtual void setIntensity (float intensity)
 Included for possible future use. More...
 
virtual double startTime ()
 Get the start time of the particle effect. More...
 
virtual void setStartTime (double startTime)
 Set the start time of the particle effect. More...
 
virtual double emitterDuration ()
 Get the emitter duration previously set. More...
 
virtual void setEmitterDuration (double emitterDuration)
 Set the emitter duration. More...
 
virtual double particleLifetime ()
 Find the maximum lifetime of any future particle in any of the particle systems that make up this effect. More...
 
void setMaxParticlesToEmit (int max)
 Set the maximum number of particles to emit. More...
 
int maxParticlesToEmit ()
 Get the maximum number of particles to emit. More...
 
virtual osg::Vec3 wind () const
 Get a previously set wind value. More...
 
virtual void setWind (const osg::Vec3 &wind)
 Set the wind vector. More...
 
virtual void setGroundDist (float groundDist)
 For rotorwash type effects, set the distance from the particle effect to the helicopter This method is currently not used (but is used in the particle system effects) More...
 
virtual float groundDist ()
 For rotorwash type effects, get the distance from the particle effect to the helicopter. More...
 
virtual void setIsRotorWash (bool isRotorWash)
 For rotorwash type effects, scale the vortex force and radius based on the distance from the particle effect to the helicopter This method is currently not used (but is used in the particle system effects) More...
 
virtual bool isRotorWash ()
 For rotorwash type effects, get whether we scale the vortex force and radius based on the distance from the particle effect to the helicopter. More...
 
virtual void setRotorDiameter (double diameter)
 For rotorwash type effects, set the diameter of the helicoper rotor blades (rotor disk) More...
 
virtual double rotorDiameter () const
 For rotorwash type effects, get the diameter of the helicoper rotor blades (rotor disk) More...
 
virtual void setRotorWindSpeed (double speed)
 For rotorwash type effects, set the speed of the helicoper rotor blade rotation. More...
 
virtual double rotorWindSpeed () const
 For rotorwash type effects, get the speed of the helicoper rotor blade rotation. More...
 
virtual osg::Vec3 up () const
 Get a previously set up value. More...
 
virtual void setUp (const osg::Vec3 &up)
 set the up value More...
 
virtual void stop ()
 Stop the particle effect. More...
 
virtual void start ()
 start the particle effect More...
 
virtual void pause ()
 Pause the particle effect. More...
 
virtual void resume ()
 resume the particle effect More...
 
virtual void setLoopMode (bool loopOn)
 Set whether or not looping is on. More...
 
virtual void setReverseAnimation (bool reverse)
 Animations to reverse. More...
 
virtual void traverse (osg::NodeVisitor &nv)
 Interrupt CullVisitors to update the transforms. More...
 
virtual osg::Node * particleSystemNode ()
 Get the node containing the particle system geometry. More...
 
virtual osg::Geode * particleSystemGeode ()
 Get an osg Geode containing drawables for this effect's particle systems. More...
 
virtual void setMatrix (const osg::Matrix &mat)
 Set the matrix transform that this particle effect is currently beneath. More...
 
void getSizeRange (osgParticle::ParticleSystem *particleSystem, float &min, float &max) const
 The the minimum and maximum particle sizes cached for a particular particle system. More...
 

Protected Member Functions

virtual ~DtCopyableParticleEffect ()
 
- Protected Member Functions inherited from makVrv::DtParticleEffect
virtual void addParent (osg::Group *parent)
 Specify a group that has this effect as a child node. More...
 
virtual void setupParticleScalingDefaults (osgParticle::ParticleSystem *ps)
 Grab the mininum and maximum particle sizes from the particle system. More...
 
virtual void setupParticleLightingDefaults (osgParticle::ParticleSystem *ps)
 Set how lighting should affect this particle system. More...
 
virtual void scaleDefaultParticleSizes (float scale)
 Scale the size of new particles. More...
 
virtual ~DtParticleEffect ()
 DTOR. More...
 
 DtParticleEffect (const DtParticleEffect &copy, const osg::CopyOp &copyop)
 Copy CTOR - not implemented. More...
 

Protected Attributes

osg::ref_ptr< osg::Node > myLoadedNode
 
bool myUseOriginalOsgFluidFrictionOperator
 
- Protected Attributes inherited from makVrv::DtParticleEffect
osg::ref_ptr< osg::Group > myEmitterGroup
 
osg::ref_ptr< osg::Group > myProgramGroup
 
osg::ref_ptr< osg::Geode > myParticleSystemGeode
 
osg::ref_ptr< osg::Group > myProxyGroup
 
osg::ref_ptr< osg::Group > myTransformGroup
 
std::vector< osg::ref_ptr
< osg::Sequence > > 
mySequences
 
bool mySequencesLooping
 
bool mySequencesReverse
 
osg::ref_ptr
< osg::MatrixTransform > 
myParticleSystemTransform
 
bool myTransformsSet
 
bool myUseLocalParticleSystem
 
osg::Vec3 myPosition
 
float myScale
 
float myIntensity
 
double myStartTime
 
double myEmitterDuration
 
int myMaxParticlesToEmit
 
osg::Vec3 myWind
 
osg::Vec3 myUp
 
float myGroundDist
 
bool myIsRotorWash
 
float myRotorDiameter
 
float myRotorWindSpeed
 
ParticleParametersMap myDefaultParticleParameters
 

Detailed Description

A particle affect which is copied.

Constructor & Destructor Documentation

makVrv::DtCopyableParticleEffect::DtCopyableParticleEffect ( const osg::Node *  loadedNode,
bool  useOriginalOsgFluidFrictionOperator = false,
bool  forceSingleLoopAnimation = false 
)
makVrv::DtCopyableParticleEffect::DtCopyableParticleEffect ( const DtCopyableParticleEffect copy,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)
virtual makVrv::DtCopyableParticleEffect::~DtCopyableParticleEffect ( )
protectedvirtual

Member Function Documentation

virtual void makVrv::DtCopyableParticleEffect::setUpEmittersAndPrograms ( )
virtual

Set the emitter group and program group appropriately.

Implements makVrv::DtParticleEffect.

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

Included for possible future use.

This method currently has no effect.

Reimplemented from makVrv::DtParticleEffect.

Member Data Documentation

osg::ref_ptr<osg::Node> makVrv::DtCopyableParticleEffect::myLoadedNode
protected
bool makVrv::DtCopyableParticleEffect::myUseOriginalOsgFluidFrictionOperator
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)