Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OgreParticle.h

Go to the documentation of this file.
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 __Particle_H__
00026 #define __Particle_H__
00027 
00028 #include "OgrePrerequisites.h"
00029 #include "OgreBillboard.h"
00030 
00031 namespace Ogre {
00032 
00033     class _OgreExport Particle : public Billboard
00034     {
00035     protected:
00036         
00037     public:
00038         // Note the intentional public access to internal variables
00039         // Accessing via get/set would be too costly for 000's of particles
00040 
00041         // Current direction: now derived
00043         Real mTimeToLive;
00045         Real mTotalTimeToLive;
00047         Radian mRotationSpeed;
00048 
00049 
00050         Particle()
00051         : mTimeToLive(10), mTotalTimeToLive(10), mRotationSpeed(0)
00052         {
00053         }
00054 
00055         const Radian& getRotationSpeed(void) const { return mRotationSpeed; }
00056         void setRotationSpeed(const Radian& rotation) { mRotationSpeed = rotation; } 
00057 #ifndef OGRE_FORCE_ANGLE_TYPES
00058         inline void setRotationSpeed(Real rotation) { mRotationSpeed = static_cast<Radian>(Angle(rotation)); }
00059 #endif//OGRE_FORCE_ANGLE_TYPES
00060 
00061 
00062         
00063     };
00064 }
00065 
00066 #endif
00067 

Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:48:37 2004