OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExplosionDebrisEffect.h
Go to the documentation of this file.
1 /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2  *
3  * This library is open source and may be redistributed and/or modified under
4  * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5  * (at your option) any later version. The full license is in LICENSE file
6  * included with this distribution, and on the openscenegraph.org website.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * OpenSceneGraph Public License for more details.
12 */
13 
14 #ifndef OSGPARTICLE_EXPLOSIONDEBRISEFFECT
15 #define OSGPARTICLE_EXPLOSIONDEBRISEFFECT
16 
17 #include <osgParticle/ParticleEffect>
18 #include <osgParticle/ModularEmitter>
19 #include <osgParticle/FluidProgram>
20 
21 namespace osgParticle
22 {
23 
25  {
26  public:
27 
28  explicit ExplosionDebrisEffect(bool automaticSetup=true);
29 
30  ExplosionDebrisEffect(const osg::Vec3& position, float scale=1.0f, float intensity=1.0f);
31 
33 
35 
36  virtual void setDefaults();
37 
38  virtual void setUpEmitterAndProgram();
39 
40  virtual Emitter* getEmitter() { return _emitter.get(); }
41  virtual const Emitter* getEmitter() const { return _emitter.get(); }
42 
43  virtual Program* getProgram() { return _program.get(); }
44  virtual const Program* getProgram() const { return _program.get(); }
45 
46  protected:
47 
49 
52 
53  };
54 }
55 
56 #endif
#define META_Node(library, name)
Definition: Node.h:59
virtual const Program * getProgram() const
#define OSGPARTICLE_EXPORT
Definition: Export.h:40
osg::ref_ptr< FluidProgram > _program
osg::ref_ptr< ModularEmitter > _emitter
virtual const Emitter * getEmitter() const