Changeset 10096 in orxonox.OLD for branches/playability
- Timestamp:
- Dec 19, 2006, 2:52:29 PM (18 years ago)
- Location:
- branches/playability/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/playability/src/util/track/track.cc
r10091 r10096 59 59 { 60 60 this->curveType = CURVE_BEZIER; 61 this->startingTime = 0;61 // this->startingTime = 0; 62 62 this->duration = 10; 63 this->endTime = 1 ;63 this->endTime = 10; 64 64 this->width = 10; 65 65 this->curve = new BezierCurve(); … … 90 90 91 91 /** 92 * 92 * This function adds a point with its coordinates to the track 93 93 * @param x 94 94 * @param y … … 102 102 103 103 /** 104 * 104 * This function adds a point to the track as a vector 105 105 * @param newPoint 106 106 */ … … 112 112 113 113 /** 114 * 114 * We probably doesn't even need this 115 115 */ 116 116 void Track::finalize() … … 160 160 Vector Track::calcPos() const 161 161 { 162 return this->curve->calcPos( (this->localTime-this->startingTime)/this->duration);162 return this->curve->calcPos(this->localTime/this->duration); 163 163 } 164 164 165 165 Vector Track::calcDir() const 166 166 { 167 return this->curve->calcDir( (this->localTime - this->startingTime)/this->duration);167 return this->curve->calcDir(this->localTime/this->duration); 168 168 } 169 169 … … 174 174 // this->jumpTo(this->localTime); 175 175 // if (this->localTime <= this->maxTime) 176 //this->localTime += dt;176 this->localTime += dt; 177 177 // if (this->localTime > this->currentTrackElem->endTime 178 178 // && this->currentTrackElem->children) … … 190 190 // } 191 191 // } 192 // if (this->bindSlave) 193 // { 194 // Vector tmp = this->calcPos(); 195 // Quaternion quat = Quaternion(this->calcDir(), Vector(this->currentTrackElem->curve->calcAcc((localTime-this->currentTrackElem->startingTime)/this->currentTrackElem->duration).x,1,this->currentTrackElem->curve->calcAcc((localTime-this->currentTrackElem->startingTime)/this->currentTrackElem->duration).z)); 196 // 197 // Vector v(0.0, 1.0, 0.0); 198 // Quaternion q(-PI/2, v); 199 // quat = quat * q; 200 // 201 // this->bindSlave->setAbsCoor(tmp); 202 // this->bindSlave->setAbsDir(quat); 203 // } 192 if (this->trackNode) 193 { 194 Vector tmp = this->calcPos(); 195 Quaternion quat = Quaternion(this->calcDir(), Vector(this->curve->calcAcc(this->localTime/this->duration).x,1,this->curve->calcAcc(this->localTime/this->duration).z)); 196 197 Vector v(0.0, 1.0, 0.0); 198 Quaternion q(-PI/2, v); 199 quat = quat * q; 200 201 // move trackNode of the track 202 this->trackNode->setAbsCoor(tmp); 203 // set direction and roll angle of trackNode 204 this->trackNode->setAbsDir(quat); 205 } 204 206 } 205 207 -
branches/playability/src/util/track/track.h
r10091 r10096 33 33 PNode* getTrackNode(); 34 34 35 float startingTime; //!< The time at which this Track begins.35 //float startingTime; //!< The time at which this Track begins. 36 36 float duration; //!< The time used to cross this Track (curve). 37 37 float endTime; //!< The time at which this Track ends. -
branches/playability/src/world_entities/space_ships/space_ship.cc
r10095 r10096 55 55 #include "util/loading/load_param.h" 56 56 #include "time.h" 57 58 #include "track/track.h" 57 59 58 60 … … 477 479 else 478 480 this->secWeaponMan.releaseFire(); 481 482 // Tracktick 483 if(this->entityTrack) 484 this->entityTrack->tick(time); 479 485 480 486 … … 760 766 this->travelNode->updateNode(0.01f); 761 767 762 this->setParent(this->travelNode);768 //this->setParent(this->travelNode); 763 769 this->setRelCoor(0,0,0); 764 770 765 State::getCameraNode()->setParentSoft(this->travelNode); 771 //State::getCameraNode()->setParentSoft(this->travelNode); 772 State::getCameraNode()->setParentSoft(this); 766 773 State::getCameraNode()->setRelCoorSoft(-0.01, 40, 0); 767 State::getCameraTargetNode()->setParentSoft(this->travelNode); 774 //State::getCameraTargetNode()->setParentSoft(this->travelNode); 775 State::getCameraTargetNode()->setParentSoft(this); 768 776 State::getCameraTargetNode()->setRelCoorSoft(0,0,0); 769 777 -
branches/playability/src/world_entities/world_entity.cc
r10088 r10096 168 168 void WorldEntity::addTrack(const TiXmlElement* root) 169 169 { 170 171 this->entityTrack = new Track(); 172 this->setParent(this->entityTrack->getTrackNode()); 173 this->entityTrack->getTrackNode()->setParentMode(PNODE_ALL); 170 174 LOAD_PARAM_START_CYCLE(root, element); 171 175 { … … 174 178 } 175 179 LOAD_PARAM_END_CYCLE(element); 180 181 176 182 } 177 183 … … 635 641 */ 636 642 void WorldEntity::tick(float time) 637 {} 643 { 644 } 638 645 639 646 -
branches/playability/src/world_entities/world_entity.h
r10088 r10096 221 221 bool bOnGround; //!< true if this entity is standing on the ground 222 222 223 224 Track* entityTrack; //!< this is the track this entity follows (or NULL if none)225 226 223 protected: 227 224 Vector velocity; //!< speed of the entity 225 Track* entityTrack; //!< this is the track this entity follows (or NULL if none) 228 226 229 227 };
Note: See TracChangeset
for help on using the changeset viewer.