Changeset 10512 in orxonox.OLD for trunk/src/util
- Timestamp:
- Jan 30, 2007, 8:01:19 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/util/track/track.cc
r10500 r10512 233 233 // } 234 234 // } 235 if (this->trackNode )236 235 if (this->trackNode && !this->pause) 236 { 237 237 // tmp save 238 238 float oldTime = this->localTime; … … 240 240 if(this->mode == 0) 241 241 { 242 if(this->localTime < this->duration) 242 // PRINTF(0)("localTime %f and duration %f", this->localTime, this->duration); 243 if(this->localTime + dt < this->duration) 243 244 this->localTime += dt; 244 245 } … … 250 251 } 251 252 252 Vector tmp = this->calcPos(); 253 254 255 Vector dV = tmp - this->trackNode->getAbsCoor(); 256 float dx = speed * dt; 257 float ratio = dx / dV.len(); 258 259 if( dt > 0.0f) 253 if(oldTime != this->localTime) 260 254 { 261 float newDt = dt * ratio; 262 if(this->pause) 263 newDt = 0; 264 this->localTime = oldTime += newDt; 255 Vector tmp = this->calcPos(); 256 257 258 Vector dV = tmp - this->trackNode->getAbsCoor(); 259 float dx = speed * dt; 260 float ratio = dx / dV.len(); 261 262 if( dt > 0.0f) 263 { 264 float newDt = dt * ratio; 265 this->localTime = oldTime + newDt; 266 } 267 tmp = this->calcPos(); 268 269 Vector v(0.0, 1.0, 0.0); 270 Quaternion quat = Quaternion(this->calcDir(), v); 271 Quaternion q(-PI/2, v); 272 quat = quat * q; 273 274 // move trackNode of the track 275 this->trackNode->shiftCoor(tmp - this->trackNode->getAbsCoor()); 276 // set direction and roll angle of trackNode 277 this->trackNode->setAbsDir(quat); 265 278 } 266 tmp = this->calcPos(); 267 268 Vector v(0.0, 1.0, 0.0); 269 Quaternion quat = Quaternion(this->calcDir(), v); 270 Quaternion q(-PI/2, v); 271 quat = quat * q; 272 273 // move trackNode of the track 274 this->trackNode->shiftCoor(tmp - this->trackNode->getAbsCoor()); 275 // set direction and roll angle of trackNode 276 this->trackNode->setAbsDir(quat); 277 } 279 } 278 280 } 279 281
Note: See TracChangeset
for help on using the changeset viewer.