]> git.lizzy.rs Git - irrlicht.git/blob - include/IParticleAttractionAffector.h
Merging r6122 through r6127 from trunk to ogl-es branch
[irrlicht.git] / include / IParticleAttractionAffector.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_ATTRACTION_AFFECTOR_H_INCLUDED__\r
6 #define __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__\r
7 \r
8 #include "IParticleAffector.h"\r
9 \r
10 namespace irr\r
11 {\r
12 namespace scene\r
13 {\r
14 \r
15 //! A particle affector which attracts or detracts particles.\r
16 class IParticleAttractionAffector : public IParticleAffector\r
17 {\r
18 public:\r
19 \r
20         //! Set the point that particles will attract to\r
21         virtual void setPoint( const core::vector3df& point ) = 0;\r
22 \r
23         //! Set the speed, in game units per second that the particles will attract to the specified point\r
24         virtual void setSpeed( f32 speed ) =0;\r
25 \r
26         //! Set whether or not the particles are attracting or detracting\r
27         virtual void setAttract( bool attract ) = 0;\r
28 \r
29         //! Set whether or not this will affect particles in the X direction\r
30         virtual void setAffectX( bool affect ) = 0;\r
31 \r
32         //! Set whether or not this will affect particles in the Y direction\r
33         virtual void setAffectY( bool affect ) = 0;\r
34 \r
35         //! Set whether or not this will affect particles in the Z direction\r
36         virtual void setAffectZ( bool affect ) = 0;\r
37 \r
38         //! Get the point that particles are attracted to\r
39         virtual const core::vector3df& getPoint() const = 0;\r
40 \r
41         //! Get the speed that points attract to the specified point\r
42         virtual f32 getSpeed() const =0;\r
43 \r
44         //! Get whether or not the particles are attracting or detracting\r
45         virtual bool getAttract() const = 0;\r
46 \r
47         //! Get whether or not the particles X position are affected\r
48         virtual bool getAffectX() const = 0;\r
49 \r
50         //! Get whether or not the particles Y position are affected\r
51         virtual bool getAffectY() const = 0;\r
52 \r
53         //! Get whether or not the particles Z position are affected\r
54         virtual bool getAffectZ() const = 0;\r
55 \r
56         //! Get emitter type\r
57         virtual E_PARTICLE_AFFECTOR_TYPE getType() const _IRR_OVERRIDE_ { return EPAT_ATTRACT; }\r
58 };\r
59 \r
60 } // end namespace scene\r
61 } // end namespace irr\r
62 \r
63 \r
64 #endif // __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__\r
65 \r