00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt 00002 // This file is part of the "Irrlicht Engine". 00003 // For conditions of distribution and use, see copyright notice in irrlicht.h 00004 00005 #ifndef __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__ 00006 #define __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__ 00007 00008 #include "IParticleAffector.h" 00009 00010 namespace irr 00011 { 00012 namespace scene 00013 { 00014 00016 class IParticleAttractionAffector : public IParticleAffector 00017 { 00018 public: 00019 00021 virtual void setPoint( const core::vector3df& point ) = 0; 00022 00024 virtual void setAttract( bool attract ) = 0; 00025 00027 virtual void setAffectX( bool affect ) = 0; 00028 00030 virtual void setAffectY( bool affect ) = 0; 00031 00033 virtual void setAffectZ( bool affect ) = 0; 00034 00036 virtual const core::vector3df& getPoint() const = 0; 00037 00039 virtual bool getAttract() const = 0; 00040 00042 virtual bool getAffectX() const = 0; 00043 00045 virtual bool getAffectY() const = 0; 00046 00048 virtual bool getAffectZ() const = 0; 00049 00051 virtual E_PARTICLE_AFFECTOR_TYPE getType() const { return EPAT_ATTRACT; } 00052 }; 00053 00054 } // end namespace scene 00055 } // end namespace irr 00056 00057 00058 #endif // __I_PARTICLE_ATTRACTION_AFFECTOR_H_INCLUDED__ 00059