Changeset 708 for code/branches/FICN/src/orxonox/particle
- Timestamp:
- Dec 28, 2007, 10:30:29 PM (17 years ago)
- Location:
- code/branches/FICN/src/orxonox/particle
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/FICN/src/orxonox/particle/ParticleInterface.cc
r659 r708 1 1 /* 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 * ORXONOX - the hottest 3D action shooter ever to exist 3 * 4 * 5 * License notice: 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 * Author: 22 * ... 23 * Co-authors: 24 * ... 25 * 26 */ 27 27 28 28 /** 29 30 31 29 * @file ParticleInterface.cc 30 * @brief class to control praticle effects 31 */ 32 32 33 33 #include "ParticleInterface.h" 34 34 // #include <OgreParticleSystem.h> 35 35 // #include <Ogre.h> 36 // #include <OIS/OIS.h>36 // #include <OIS/OIS.h> 37 37 // #include <CEGUI/CEGUI.h> 38 38 // #include <CEGUIRenderer.h> 39 39 40 40 41 using namespace Ogre;42 41 43 namespace particle { 42 namespace orxonox { 43 using namespace Ogre; 44 44 45 45 ParticleInterface::ParticleInterface( SceneManager *sceneManager, String name, String templateName ) … … 122 122 } 123 123 124 // TODO check if this really works124 // TODO check if this really works 125 125 Vector3 ParticleInterface::getPositionOfEmitter ( int emitterNr ) 126 126 { -
code/branches/FICN/src/orxonox/particle/ParticleInterface.h
r673 r708 11 11 #include <OgreSceneManager.h> 12 12 13 #include "../OrxonoxPrereqs.h" 13 14 14 namespace particle 15 #include "misc/Vector3.h" 16 #include "misc/String.h" 17 #include "misc/ColourValue.h" 18 19 20 namespace orxonox 15 21 { 16 22 17 class ParticleInterface18 {19 public:23 class ParticleInterface 24 { 25 public: 20 26 21 ParticleInterface( Ogre::SceneManager *sceneManager, Ogre::String name, Ogre::String templateName );22 ~ParticleInterface( void );27 ParticleInterface( Ogre::SceneManager *sceneManager, String name, String templateName ); 28 ~ParticleInterface( void ); 23 29 24 void inline addToSceneNode( Ogre::SceneNode* sceneNode ) { sceneNode_ = sceneNode; sceneNode_->attachObject(particleSystem_);};25 void inline detachFromSceneNode( void ) { sceneNode_->detachObject(particleSystem_); sceneNode_ = NULL;};30 void inline addToSceneNode( Ogre::SceneNode* sceneNode ) { sceneNode_ = sceneNode; sceneNode_->attachObject(particleSystem_);}; 31 void inline detachFromSceneNode( void ) { sceneNode_->detachObject(particleSystem_); sceneNode_ = NULL;}; 26 32 27 Ogre::ParticleEmitter* getEmitter ( int emitterNr );28 void newEmitter ( void );33 Ogre::ParticleEmitter* getEmitter ( int emitterNr ); 34 void newEmitter ( void ); 29 35 30 Ogre::Vector3 getPositionOfEmitter ( int emitterNr );31 inline void setPositionOfEmitter ( int emitterNr, Ogre::Vector3 position ) { particleSystem_->getEmitter(emitterNr)->setPosition(position); };36 Vector3 getPositionOfEmitter ( int emitterNr ); 37 inline void setPositionOfEmitter ( int emitterNr, Vector3 position ) { particleSystem_->getEmitter(emitterNr)->setPosition(position); }; 32 38 33 inline Ogre::Vector3 getDirection ( void ) { return particleSystem_->getEmitter(0)->getDirection(); };34 void setDirection ( Ogre::Vector3 direction );39 inline Vector3 getDirection ( void ) { return particleSystem_->getEmitter(0)->getDirection(); }; 40 void setDirection ( Vector3 direction ); 35 41 36 inline Ogre::Real getVelocity() {return velocity_; };37 void setVelocity( Ogre::Real v );42 inline Real getVelocity() {return velocity_; }; 43 void setVelocity( Real v ); 38 44 39 inline int getRate() { return rate_; };40 void setRate( int r );45 inline int getRate() { return rate_; }; 46 void setRate( int r ); 41 47 42 inline Ogre::Real getDistance() { return distance_; };43 void setDistance( Ogre::Real d );48 inline Real getDistance() { return distance_; }; 49 void setDistance( Real d ); 44 50 45 inline Ogre::ColourValue getColour( void ) {return colour_;};46 void setColour( Ogre::ColourValue colour );51 inline ColourValue getColour( void ) {return colour_;}; 52 void setColour( ColourValue colour ); 47 53 48 void switchEnable();54 void switchEnable(); 49 55 50 inline Ogre::ParticleSystem* getParticleSystem() { return this->particleSystem_; };56 inline Ogre::ParticleSystem* getParticleSystem() { return this->particleSystem_; }; 51 57 52 private:53 Ogre::SceneNode *sceneNode_;54 Ogre::SceneManager *sceneManager_;55 Ogre::ParticleSystem *particleSystem_;56 Ogre::Real distance_;57 Ogre::Real velocity_;58 int rate_;59 Ogre::ColourValue colour_;60 int numberOfEmitters_;58 private: 59 Ogre::SceneNode *sceneNode_; 60 Ogre::SceneManager *sceneManager_; 61 Ogre::ParticleSystem *particleSystem_; 62 Real distance_; 63 Real velocity_; 64 int rate_; 65 ColourValue colour_; 66 int numberOfEmitters_; 61 67 62 void standardizeEmitters();63 };68 void standardizeEmitters(); 69 }; 64 70 65 71 } 72 66 73 #endif /* _ParticleInterface_H__ */
Note: See TracChangeset
for help on using the changeset viewer.