00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright © 2000-2002 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 ----------------------------------------------------------------------------- 00024 */ 00025 #ifndef __RotationAffector_H__ 00026 #define __RotationAffector_H__ 00027 00028 #include "OgreParticleFXPrerequisites.h" 00029 #include "OgreParticleAffector.h" 00030 #include "OgreStringInterface.h" 00031 00032 namespace Ogre { 00033 00034 00040 class _OgreParticleFXExport RotationAffector : public ParticleAffector 00041 { 00042 public: 00044 class CmdRotationSpeedRangeStart : public ParamCommand 00045 { 00046 public: 00047 String doGet(const void* target) const; 00048 void doSet(void* target, const String& val); 00049 }; 00050 00052 class CmdRotationSpeedRangeEnd : public ParamCommand 00053 { 00054 public: 00055 String doGet(const void* target) const; 00056 void doSet(void* target, const String& val); 00057 }; 00058 00060 class CmdRotationRangeStart : public ParamCommand 00061 { 00062 public: 00063 String doGet(const void* target) const; 00064 void doSet(void* target, const String& val); 00065 }; 00066 00068 class CmdRotationRangeEnd : public ParamCommand 00069 { 00070 public: 00071 String doGet(const void* target) const; 00072 void doSet(void* target, const String& val); 00073 }; 00074 00076 RotationAffector(); 00077 00079 void _initParticle(Particle* pParticle); 00080 00082 void _affectParticles(ParticleSystem* pSystem, Real timeElapsed); 00083 00084 00085 00087 void setRotationSpeedRangeStart(Real angle); 00089 void setRotationSpeedRangeEnd(Real angle); 00091 Real getRotationSpeedRangeStart(void) const; 00093 Real getRotationSpeedRangeEnd(void) const; 00094 00095 00097 void setRotationRangeStart(Real angle); 00099 void setRotationRangeEnd(Real angle); 00101 Real getRotationRangeStart(void) const; 00103 Real getRotationRangeEnd(void) const; 00104 00105 static CmdRotationSpeedRangeStart msRotationSpeedRangeStartCmd; 00106 static CmdRotationSpeedRangeEnd msRotationSpeedRangeEndCmd; 00107 static CmdRotationRangeStart msRotationRangeStartCmd; 00108 static CmdRotationRangeEnd msRotationRangeEndCmd; 00109 00110 protected: 00112 Real mRotationSpeedRangeStart; 00114 Real mRotationSpeedRangeEnd; 00116 Real mRotationRangeStart; 00118 Real mRotationRangeEnd; 00119 00120 }; 00121 00122 00123 } 00124 00125 00126 #endif 00127
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:10:25 2004