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_CYLINDER_EMITTER_H_INCLUDED__ 00006 #define __I_PARTICLE_CYLINDER_EMITTER_H_INCLUDED__ 00007 00008 #include "IParticleEmitter.h" 00009 00010 namespace irr 00011 { 00012 namespace scene 00013 { 00014 00016 class IParticleCylinderEmitter : public IParticleEmitter 00017 { 00018 public: 00019 00021 virtual void setCenter( const core::vector3df& center ) = 0; 00022 00024 virtual void setNormal( const core::vector3df& normal ) = 0; 00025 00027 virtual void setRadius( f32 radius ) = 0; 00028 00030 virtual void setLength( f32 length ) = 0; 00031 00033 virtual void setOutlineOnly( bool outlineOnly = true ) = 0; 00034 00036 virtual const core::vector3df& getCenter() const = 0; 00037 00039 virtual const core::vector3df& getNormal() const = 0; 00040 00042 virtual f32 getRadius() const = 0; 00043 00045 virtual f32 getLength() const = 0; 00046 00048 virtual bool getOutlineOnly() const = 0; 00049 00051 virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_CYLINDER; } 00052 }; 00053 00054 } // end namespace scene 00055 } // end namespace irr 00056 00057 00058 #endif 00059