Irrlicht 3D Engine
IParticleAttractionAffector.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_ATTRACTION_AFFECTOR_H_INCLUDED__
6 #define __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__
7 
8 #include "IParticleAffector.h"
9 
10 namespace irr
11 {
12 namespace scene
13 {
14 
17 {
18 public:
19 
21  virtual void setPoint( const core::vector3df& point ) = 0;
22 
24  virtual void setAttract( bool attract ) = 0;
25 
27  virtual void setAffectX( bool affect ) = 0;
28 
30  virtual void setAffectY( bool affect ) = 0;
31 
33  virtual void setAffectZ( bool affect ) = 0;
34 
36  virtual const core::vector3df& getPoint() const = 0;
37 
39  virtual bool getAttract() const = 0;
40 
42  virtual bool getAffectX() const = 0;
43 
45  virtual bool getAffectY() const = 0;
46 
48  virtual bool getAffectZ() const = 0;
49 
51  virtual E_PARTICLE_AFFECTOR_TYPE getType() const { return EPAT_ATTRACT; }
52 };
53 
54 } // end namespace scene
55 } // end namespace irr
56 
57 
58 #endif // __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__
59 
virtual bool getAffectY() const =0
Get whether or not the particles Y position are affected.
A particle affector which attracts or detracts particles.
virtual bool getAttract() const =0
Get whether or not the particles are attracting or detracting.
E_PARTICLE_AFFECTOR_TYPE
Types of built in particle affectors.
virtual void setAffectX(bool affect)=0
Set whether or not this will affect particles in the X direction.
virtual bool getAffectZ() const =0
Get whether or not the particles Z position are affected.
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
virtual void setAffectZ(bool affect)=0
Set whether or not this will affect particles in the Z direction.
virtual E_PARTICLE_AFFECTOR_TYPE getType() const
Get emitter type.
A particle affector modifies particles.
virtual void affect(u32 now, SParticle *particlearray, u32 count)=0
Affects an array of particles.
virtual void setAffectY(bool affect)=0
Set whether or not this will affect particles in the Y direction.
virtual bool getAffectX() const =0
Get whether or not the particles X position are affected.
virtual void setPoint(const core::vector3df &point)=0
Set the point that particles will attract to.
virtual void setAttract(bool attract)=0
Set whether or not the particles are attracting or detracting.
virtual const core::vector3df & getPoint() const =0
Get the point that particles are attracted to.