IParticleRotationAffector.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. #ifndef IRR_I_PARTICLE_ROTATION_AFFECTOR_H_INCLUDED
  5. #define IRR_I_PARTICLE_ROTATION_AFFECTOR_H_INCLUDED
  6. #include "IParticleAffector.h"
  7. namespace irr
  8. {
  9. namespace scene
  10. {
  11. //! A particle affector which rotates the particle system.
  12. class IParticleRotationAffector : public IParticleAffector
  13. {
  14. public:
  15. //! Set the point that particles will rotate around
  16. virtual void setPivotPoint( const core::vector3df& point ) = 0;
  17. //! Set the speed in degrees per second in all 3 dimensions
  18. virtual void setSpeed( const core::vector3df& speed ) = 0;
  19. //! Get the point that particles are attracted to
  20. virtual const core::vector3df& getPivotPoint() const = 0;
  21. //! Get the speed in degrees per second in all 3 dimensions
  22. virtual const core::vector3df& getSpeed() const = 0;
  23. //! Get emitter type
  24. virtual E_PARTICLE_AFFECTOR_TYPE getType() const IRR_OVERRIDE { return EPAT_ROTATE; }
  25. };
  26. } // end namespace scene
  27. } // end namespace irr
  28. #endif // IRR_I_PARTICLE_ROTATION_AFFECTOR_H_INCLUDED