]> git.lizzy.rs Git - irrlicht.git/blob - include/IParticleCylinderEmitter.h
Merging r5975 through r6036 from trunk to ogl-es branch.
[irrlicht.git] / include / IParticleCylinderEmitter.h
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 #ifndef __I_PARTICLE_CYLINDER_EMITTER_H_INCLUDED__\r
6 #define __I_PARTICLE_CYLINDER_EMITTER_H_INCLUDED__\r
7 \r
8 #include "IParticleEmitter.h"\r
9 \r
10 namespace irr\r
11 {\r
12 namespace scene\r
13 {\r
14 \r
15 //! A particle emitter which emits from a cylindrically shaped space.\r
16 class IParticleCylinderEmitter : public IParticleEmitter\r
17 {\r
18 public:\r
19 \r
20         //! Set the center of the radius for the cylinder, at one end of the cylinder\r
21         virtual void setCenter( const core::vector3df& center ) = 0;\r
22 \r
23         //! Set the normal of the cylinder\r
24         virtual void setNormal( const core::vector3df& normal ) = 0;\r
25 \r
26         //! Set the radius of the cylinder\r
27         virtual void setRadius( f32 radius ) = 0;\r
28 \r
29         //! Set the length of the cylinder\r
30         virtual void setLength( f32 length ) = 0;\r
31 \r
32         //! Set whether or not to draw points inside the cylinder\r
33         virtual void setOutlineOnly( bool outlineOnly = true ) = 0;\r
34 \r
35         //! Get the center of the cylinder\r
36         virtual const core::vector3df& getCenter() const = 0;\r
37 \r
38         //! Get the normal of the cylinder\r
39         virtual const core::vector3df& getNormal() const = 0;\r
40 \r
41         //! Get the radius of the cylinder\r
42         virtual f32 getRadius() const = 0;\r
43 \r
44         //! Get the center of the cylinder\r
45         virtual f32 getLength() const = 0;\r
46 \r
47         //! Get whether or not to draw points inside the cylinder\r
48         virtual bool getOutlineOnly() const = 0;\r
49 \r
50         //! Get emitter type\r
51         virtual E_PARTICLE_EMITTER_TYPE getType() const _IRR_OVERRIDE_ { return EPET_CYLINDER; }\r
52 };\r
53 \r
54 } // end namespace scene\r
55 } // end namespace irr\r
56 \r
57 \r
58 #endif\r
59 \r