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_RING_EMITTER_H_INCLUDED__ 00006 #define __I_PARTICLE_RING_EMITTER_H_INCLUDED__ 00007 00008 #include "IParticleEmitter.h" 00009 00010 namespace irr 00011 { 00012 namespace scene 00013 { 00014 00016 class IParticleRingEmitter : public IParticleEmitter 00017 { 00018 public: 00019 00021 virtual void setCenter( const core::vector3df& center ) = 0; 00022 00024 virtual void setRadius( f32 radius ) = 0; 00025 00027 virtual void setRingThickness( f32 ringThickness ) = 0; 00028 00030 virtual const core::vector3df& getCenter() const = 0; 00031 00033 virtual f32 getRadius() const = 0; 00034 00036 virtual f32 getRingThickness() const = 0; 00037 00039 virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_RING; } 00040 }; 00041 00042 } // end namespace scene 00043 } // end namespace irr 00044 00045 00046 #endif 00047