- Timestamp:
- Dec 28, 2007, 10:30:29 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.