- Timestamp:
 - Dec 17, 2007, 8:59:31 PM (18 years ago)
 - File:
 - 
          
- 1 edited
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
        
code/branches/FICN/src/orxonox/particle/ParticleInterface.cc
r544 r592 37 37 namespace particle { 38 38 39 ParticleInterface::~ParticleInterface(void)40 {41 sceneManager_->destroyParticleSystem(particleSystem_);39 ParticleInterface::~ParticleInterface(void) 40 { 41 sceneManager_->destroyParticleSystem(particleSystem_); 42 42 43 delete sceneNode_;44 delete particleSystem_;45 delete sceneManager_;46 }43 delete sceneNode_; 44 delete particleSystem_; 45 delete sceneManager_; 46 } 47 47 48 ParticleInterface::ParticleInterface( SceneManager *sceneManager, String name, String templateName )49 {50 sceneManager_ = sceneManager;51 particleSystem_ = sceneManager->createParticleSystem(name, templateName);48 ParticleInterface::ParticleInterface( SceneManager *sceneManager, String name, String templateName ) 49 { 50 sceneManager_ = sceneManager; 51 particleSystem_ = sceneManager->createParticleSystem(name, templateName); 52 52 53 //Variabeln einlesen, Emitter1_ ist Referenz-Emitter54 velocity_ = particleSystem_->getSpeedFactor();55 colour_ = particleSystem_->getEmitter(0)->getColour();56 rate_ = particleSystem_->getEmitter(0)->getEmissionRate();57 distance_ = particleSystem_->getEmitter(0)->getTimeToLive();53 //Variabeln einlesen, Emitter1_ ist Referenz-Emitter 54 velocity_ = particleSystem_->getSpeedFactor(); 55 colour_ = particleSystem_->getEmitter(0)->getColour(); 56 rate_ = particleSystem_->getEmitter(0)->getEmissionRate(); 57 distance_ = particleSystem_->getEmitter(0)->getTimeToLive(); 58 58 59 //Anzahl der Emitter60 numberOfEmitters_ = particleSystem_->getNumEmitters();61 standardizeEmitters();62 }59 //Anzahl der Emitter 60 numberOfEmitters_ = particleSystem_->getNumEmitters(); 61 standardizeEmitters(); 62 } 63 63 64 void ParticleInterface::standardizeEmitters(void)65 {66 //Abgleichen der anderen Emitter an die Variabeln67 for (int i=1; i<numberOfEmitters_; i++) {68 particleSystem_->getEmitter(i)->setColour( colour_ );69 particleSystem_->getEmitter(i)->setTimeToLive( distance_ );70 particleSystem_->getEmitter(i)->setEmissionRate( rate_ );71 }64 void ParticleInterface::standardizeEmitters(void) 65 { 66 //Abgleichen der anderen Emitter an die Variabeln 67 for (int i=1; i<numberOfEmitters_; i++) { 68 particleSystem_->getEmitter(i)->setColour( colour_ ); 69 particleSystem_->getEmitter(i)->setTimeToLive( distance_ ); 70 particleSystem_->getEmitter(i)->setEmissionRate( rate_ ); 71 } 72 72 73 }73 } 74 74 75 void ParticleInterface::addToSceneNode( SceneNode* sceneNode )76 {77 sceneNode_ = sceneNode;78 sceneNode_->attachObject(particleSystem_);79 }75 void ParticleInterface::addToSceneNode( SceneNode* sceneNode ) 76 { 77 sceneNode_ = sceneNode; 78 sceneNode_->attachObject(particleSystem_); 79 } 80 80 81 void ParticleInterface::dettachFromSceneNode ( void )82 {83 sceneNode_->detachObject(particleSystem_);84 sceneNode_ = NULL;85 }81 void ParticleInterface::dettachFromSceneNode ( void ) 82 { 83 sceneNode_->detachObject(particleSystem_); 84 sceneNode_ = NULL; 85 } 86 86 87 Real ParticleInterface::getVelocity()88 {89 return velocity_;90 }87 Real ParticleInterface::getVelocity() 88 { 89 return velocity_; 90 } 91 91 92 void ParticleInterface::setVelocity(Real v)93 {94 velocity_ = v;95 //partikel anpassen96 particleSystem_->setSpeedFactor(v);97 }92 void ParticleInterface::setVelocity(Real v) 93 { 94 velocity_ = v; 95 //partikel anpassen 96 particleSystem_->setSpeedFactor(v); 97 } 98 98 99 int ParticleInterface::getRate()100 {101 return rate_;102 }103 void ParticleInterface::setRate(int r)104 {105 rate_ = r;106 //partikel anpassen107 for (int i=0; i<numberOfEmitters_; i++) {108 particleSystem_->getEmitter(i)->setEmissionRate(rate_);109 }110 }99 int ParticleInterface::getRate() 100 { 101 return rate_; 102 } 103 void ParticleInterface::setRate(int r) 104 { 105 rate_ = r; 106 //partikel anpassen 107 for (int i=0; i<numberOfEmitters_; i++) { 108 particleSystem_->getEmitter(i)->setEmissionRate(rate_); 109 } 110 } 111 111 112 Real ParticleInterface::getDistance()113 {114 return distance_;115 }112 Real ParticleInterface::getDistance() 113 { 114 return distance_; 115 } 116 116 117 void ParticleInterface::setDistance(Real d)118 {119 distance_ = d;120 //partikel anpassen121 for (int i=0; i<numberOfEmitters_; i++) {122 particleSystem_->getEmitter(i)->setTimeToLive(distance_);123 }124 }125 ColourValue ParticleInterface::getColour()126 {127 return colour_;128 }117 void ParticleInterface::setDistance(Real d) 118 { 119 distance_ = d; 120 //partikel anpassen 121 for (int i=0; i<numberOfEmitters_; i++) { 122 particleSystem_->getEmitter(i)->setTimeToLive(distance_); 123 } 124 } 125 ColourValue ParticleInterface::getColour() 126 { 127 return colour_; 128 } 129 129 130 void ParticleInterface::setColour(ColourValue colour)131 {132 colour_ = colour;133 //partikel anpassen134 for (int i=0; i<numberOfEmitters_; i++) {135 particleSystem_->getEmitter(i)->setColour(colour_);136 }137 }130 void ParticleInterface::setColour(ColourValue colour) 131 { 132 colour_ = colour; 133 //partikel anpassen 134 for (int i=0; i<numberOfEmitters_; i++) { 135 particleSystem_->getEmitter(i)->setColour(colour_); 136 } 137 } 138 138 139 ParticleEmitter* ParticleInterface::getEmitter( int emitterNr )140 {141 if (!(emitterNr<numberOfEmitters_)) return NULL;142 return particleSystem_->getEmitter(emitterNr);143 }139 ParticleEmitter* ParticleInterface::getEmitter( int emitterNr ) 140 { 141 if (!(emitterNr<numberOfEmitters_)) return NULL; 142 return particleSystem_->getEmitter(emitterNr); 143 } 144 144 145 void ParticleInterface::newEmitter ( void )146 {147 particleSystem_->addEmitter(particleSystem_->getEmitter(0)->getType());148 numberOfEmitters_=numberOfEmitters_+1;149 particleSystem_->getEmitter(0)->copyParametersTo( particleSystem_->getEmitter(numberOfEmitters_-1) );150 }145 void ParticleInterface::newEmitter ( void ) 146 { 147 particleSystem_->addEmitter(particleSystem_->getEmitter(0)->getType()); 148 numberOfEmitters_=numberOfEmitters_+1; 149 particleSystem_->getEmitter(0)->copyParametersTo( particleSystem_->getEmitter(numberOfEmitters_-1) ); 150 } 151 151 152 void ParticleInterface::setPositionOfEmitter ( int emitterNr, Vector3 position )153 {154 particleSystem_->getEmitter(emitterNr)->setPosition(position);155 }152 void ParticleInterface::setPositionOfEmitter ( int emitterNr, Vector3 position ) 153 { 154 particleSystem_->getEmitter(emitterNr)->setPosition(position); 155 } 156 156 157 Vector3 ParticleInterface::getPositionOfEmitter ( int emitterNr )158 {159 return particleSystem_->getEmitter(0)->getPosition();160 }157 Vector3 ParticleInterface::getPositionOfEmitter ( int emitterNr ) 158 { 159 return particleSystem_->getEmitter(0)->getPosition(); 160 } 161 161 162 void ParticleInterface::setDirection ( Vector3 direction )163 {164 for(int i=0; i<numberOfEmitters_; i++) {165 particleSystem_->getEmitter(i)->setDirection(direction);166 }167 }162 void ParticleInterface::setDirection ( Vector3 direction ) 163 { 164 for(int i=0; i<numberOfEmitters_; i++) { 165 particleSystem_->getEmitter(i)->setDirection(direction); 166 } 167 } 168 168 169 169 170 Vector3 ParticleInterface::getDirection ( void )171 {172 return particleSystem_->getEmitter(0)->getDirection();173 }170 Vector3 ParticleInterface::getDirection ( void ) 171 { 172 return particleSystem_->getEmitter(0)->getDirection(); 173 } 174 174 175 void ParticleInterface::switchEnable(){176 bool enable=(!(particleSystem_->getEmitter(0)->getEnabled()));177 for(int i=0; i<numberOfEmitters_; i++) {178 particleSystem_->getEmitter(i)->setEnabled(enable);179 }180 }175 void ParticleInterface::switchEnable(){ 176 bool enable=(!(particleSystem_->getEmitter(0)->getEnabled())); 177 for(int i=0; i<numberOfEmitters_; i++) { 178 particleSystem_->getEmitter(i)->setEnabled(enable); 179 } 180 } 181 181 182 182 }  
Note: See TracChangeset
          for help on using the changeset viewer.
      


            






