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
5 #ifndef __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__
\r
6 #define __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__
\r
8 #include "IParticleAffector.h"
\r
15 //! A particle affector which attracts or detracts particles.
\r
16 class IParticleAttractionAffector : public IParticleAffector
\r
20 //! Set the point that particles will attract to
\r
21 virtual void setPoint( const core::vector3df& point ) = 0;
\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
26 //! Set whether or not the particles are attracting or detracting
\r
27 virtual void setAttract( bool attract ) = 0;
\r
29 //! Set whether or not this will affect particles in the X direction
\r
30 virtual void setAffectX( bool affect ) = 0;
\r
32 //! Set whether or not this will affect particles in the Y direction
\r
33 virtual void setAffectY( bool affect ) = 0;
\r
35 //! Set whether or not this will affect particles in the Z direction
\r
36 virtual void setAffectZ( bool affect ) = 0;
\r
38 //! Get the point that particles are attracted to
\r
39 virtual const core::vector3df& getPoint() const = 0;
\r
41 //! Get the speed that points attract to the specified point
\r
42 virtual f32 getSpeed() const =0;
\r
44 //! Get whether or not the particles are attracting or detracting
\r
45 virtual bool getAttract() const = 0;
\r
47 //! Get whether or not the particles X position are affected
\r
48 virtual bool getAffectX() const = 0;
\r
50 //! Get whether or not the particles Y position are affected
\r
51 virtual bool getAffectY() const = 0;
\r
53 //! Get whether or not the particles Z position are affected
\r
54 virtual bool getAffectZ() const = 0;
\r
56 //! Get emitter type
\r
57 virtual E_PARTICLE_AFFECTOR_TYPE getType() const _IRR_OVERRIDE_ { return EPAT_ATTRACT; }
\r
60 } // end namespace scene
\r
61 } // end namespace irr
\r
64 #endif // __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__
\r