VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SimpleParticleSystem.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 
10 #include <osg/Group>
11 #include <osg/Referenced>
12 
13 namespace osg {
14  class PositionAttitudeTransform;
15 }
16 
17 namespace osgParticle {
18  class Particle;
19  class ParticleSystem;
20  class ParticleSystemUpdater;
21  class ModularEmitter;
22  class ModularProgram;
23  class RandomRateCounter;
24  class PointPlacer;
25  class RadialShooter;
26 }
27 
36 class SimpleParticles : public osg::Group
37 {
38 public:
41 
43  virtual ~SimpleParticles();
44 
46  osg::PositionAttitudeTransform* positionAttitudeTransform() const { return myPat.get(); }
47 
51  osgParticle::Particle* particle() const { return myParticle; }
52 
56  osgParticle::ParticleSystem* particleSystem() const { return myParticleSystem.get(); }
57 
61  osgParticle::ParticleSystemUpdater* particleSystemUpdater() const { return myParticleSystemUpdater.get(); }
62 
67  osgParticle::ModularEmitter* modularEmitter() const { return myModularEmitter.get(); }
68 
71  osgParticle::RandomRateCounter* randomRateCounter() const { return myRandomRateCounter.get(); }
72 
75  osgParticle::PointPlacer* pointPlacer() const { return myPointPlacer.get(); }
76 
79  osgParticle::RadialShooter* radialShooter() const { return myRadialShooter.get(); }
80 
85  osgParticle::ModularProgram* modularProgram() const { return myModularProgram.get(); }
86 
87 private:
88  osg::ref_ptr<osg::PositionAttitudeTransform> myPat;
89  osgParticle::Particle* myParticle; // not an osg::Object - no ref counting.
90  osg::ref_ptr<osgParticle::ParticleSystem> myParticleSystem;
91  osg::ref_ptr<osgParticle::ParticleSystemUpdater> myParticleSystemUpdater;
92  osg::ref_ptr<osgParticle::ModularEmitter> myModularEmitter;
93  osg::ref_ptr<osgParticle::ModularProgram> myModularProgram;
94  osg::ref_ptr<osgParticle::RandomRateCounter> myRandomRateCounter;
95  osg::ref_ptr<osgParticle::PointPlacer> myPointPlacer;
96  osg::ref_ptr<osgParticle::RadialShooter> myRadialShooter;
97 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)