15 #include <osg/MatrixTransform>
22 namespace osgParticle {
34 class DtTacticalSmokeEmitter;
35 class DtTranslateOperator;
63 const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY);
69 virtual const char*
className()
const {
return "DtTacticalSmokeEffect"; }
71 virtual void accept(osg::NodeVisitor& nv) {
if (nv.validNodeMask(*
this)) { nv.pushOntoNodePath(
this); nv.apply(*
this); nv.popFromNodePath(); } }
75 osg::MatrixTransform* particleTransform();
76 const osg::MatrixTransform* particleTransform()
const;
85 osgParticle::Shooter* particleShooter();
86 const osgParticle::Shooter* particleShooter()
const;
90 osgParticle::Placer* particlePlacer();
91 const osgParticle::Placer* particlePlacer()
const;
95 osgParticle::Counter* particleCounter();
96 const osgParticle::Counter* particleCounter()
const;
100 osgParticle::ParticleSystem* particleSystem();
101 const osgParticle::ParticleSystem* particleSystem()
const;
105 osgParticle::Particle& particleTemplate();
106 const osgParticle::Particle& particleTemplate()
const;
122 void setParticleSpeed(
double speed);
133 void setParticleLifetime(
double life);
140 void setOneSigmaDistance(
int puffIndex,
const osg::Vec3d& dist);
146 void setDensity(
int puffIndex,
double dens);
151 void setPlacement(
int puffIndex,
const osg::Vec3d& pos);
157 void setEmitterLifetime(
double life);
164 void setParticleSizeRange(
double isz,
double fsz);
172 void setParticleRotationRange(
double mn,
double mx);
179 void setParticleColorRange(
const osg::Vec4& icl,
const osg::Vec4& fcl);
186 void setParticleAlphaMultiplier(
double alpha);
193 void setIntensityRange(
double mn,
double mx);
198 void setWind(
const osg::Vec3d& wnd);
202 void setTexture(
const std::string& txt);
226 virtual void traverse(osg::NodeVisitor& nv);
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
virtual bool isSameKindAs(const osg::Object *obj) const
Definition: DtTacticalSmokeEffect.h:68
An emitter class that manages and emits several particles.
Definition: DtTacticalSmokeEmitter.h:30
osg::ref_ptr< DtTacticalSmokeEmitter > myEmitter
Definition: DtTacticalSmokeEffect.h:238
DtDe & myDe
Definition: DtTacticalSmokeEffect.h:243
bool myTransformIsSet
Definition: DtTacticalSmokeEffect.h:241
A particle operator to simply translate the particles each frame.
Definition: DtTranslateOperator.h:43
virtual osg::Object * cloneType() const
Definition: DtTacticalSmokeEffect.h:66
virtual osg::Object * clone(const osg::CopyOp ©op) const
Definition: DtTacticalSmokeEffect.h:67
osg::ref_ptr< osg::MatrixTransform > myParticleTransform
Definition: DtTacticalSmokeEffect.h:236
virtual const char * className() const
Definition: DtTacticalSmokeEffect.h:69
osg::ref_ptr< osgParticle::ParticleSystem > myParticleSystem
Definition: DtTacticalSmokeEffect.h:237
Contains DLL export macros.
std::string myTexture
Definition: DtTacticalSmokeEffect.h:242
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual const char * libraryName() const
Definition: DtTacticalSmokeEffect.h:70
A particle system for creating a single puff of smoke with a normal (or Gaussian) distribution of par...
Definition: DtTacticalSmokeEffect.h:52
osg::ref_ptr< DtTranslateOperator > myWindOperator
Definition: DtTacticalSmokeEffect.h:239
virtual void accept(osg::NodeVisitor &nv)
Definition: DtTacticalSmokeEffect.h:71