IParticleRingEmitter.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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_RING_EMITTER_H_INCLUDED
  5. #define IRR_I_PARTICLE_RING_EMITTER_H_INCLUDED
  6. #include "IParticleEmitter.h"
  7. namespace irr
  8. {
  9. namespace scene
  10. {
  11. //! A particle emitter which emits particles along a ring shaped area.
  12. class IParticleRingEmitter : public IParticleEmitter
  13. {
  14. public:
  15. //! Set the center of the ring
  16. virtual void setCenter( const core::vector3df& center ) = 0;
  17. //! Set the radius of the ring
  18. virtual void setRadius( f32 radius ) = 0;
  19. //! Set the thickness of the ring
  20. virtual void setRingThickness( f32 ringThickness ) = 0;
  21. //! Get the center of the ring
  22. virtual const core::vector3df& getCenter() const = 0;
  23. //! Get the radius of the ring
  24. virtual f32 getRadius() const = 0;
  25. //! Get the thickness of the ring
  26. virtual f32 getRingThickness() const = 0;
  27. //! Get emitter type
  28. virtual E_PARTICLE_EMITTER_TYPE getType() const IRR_OVERRIDE { return EPET_RING; }
  29. };
  30. } // end namespace scene
  31. } // end namespace irr
  32. #endif