Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials
IParticleEmitter.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_PARTICLE_EMITTER_H_INCLUDED__
6 #define __I_PARTICLE_EMITTER_H_INCLUDED__
7 
9 #include "SParticle.h"
10 
11 namespace irr
12 {
13 namespace scene
14 {
15 
18 {
27 };
28 
30 const c8* const ParticleEmitterTypeNames[] =
31 {
32  "Point",
33  "AnimatedMesh",
34  "Box",
35  "Cylinder",
36  "Mesh",
37  "Ring",
38  "Sphere",
39  0
40 };
41 
43 
46 {
47 public:
48 
50 
55  virtual s32 emitt(u32 now, u32 timeSinceLastCall, SParticle*& outArray) = 0;
56 
58  virtual void setDirection( const core::vector3df& newDirection ) = 0;
59 
61  virtual void setMinParticlesPerSecond( u32 minPPS ) = 0;
62 
64  virtual void setMaxParticlesPerSecond( u32 maxPPS ) = 0;
65 
67  virtual void setMinStartColor( const video::SColor& color ) = 0;
68 
70  virtual void setMaxStartColor( const video::SColor& color ) = 0;
71 
73  virtual void setMaxStartSize( const core::dimension2df& size ) = 0;
74 
76  virtual void setMinStartSize( const core::dimension2df& size ) = 0;
77 
79  virtual void setMinLifeTime( u32 lifeTimeMin ) = 0;
80 
82  virtual void setMaxLifeTime( u32 lifeTimeMax ) = 0;
83 
85  virtual void setMaxAngleDegrees( s32 maxAngleDegrees ) = 0;
86 
88  virtual const core::vector3df& getDirection() const = 0;
89 
91  virtual u32 getMinParticlesPerSecond() const = 0;
92 
94  virtual u32 getMaxParticlesPerSecond() const = 0;
95 
97  virtual const video::SColor& getMinStartColor() const = 0;
98 
100  virtual const video::SColor& getMaxStartColor() const = 0;
101 
103  virtual const core::dimension2df& getMaxStartSize() const = 0;
104 
106  virtual const core::dimension2df& getMinStartSize() const = 0;
107 
109  virtual u32 getMinLifeTime() const = 0;
110 
112  virtual u32 getMaxLifeTime() const = 0;
113 
115  virtual s32 getMaxAngleDegrees() const = 0;
116 
117 
119  virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_POINT; }
120 };
121 
123 
124 } // end namespace scene
125 } // end namespace irr
126 
127 
128 #endif
129 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Mon May 6 2013 17:41:01 by Doxygen (1.8.3.1)