Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10096 in orxonox.OLD for branches/playability/src/util/track


Ignore:
Timestamp:
Dec 19, 2006, 2:52:29 PM (18 years ago)
Author:
bknecht
Message:

connected the track with the worldentities and the spaceship

Location:
branches/playability/src/util/track
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/playability/src/util/track/track.cc

    r10091 r10096  
    5959{
    6060  this->curveType = CURVE_BEZIER;
    61   this->startingTime = 0;
     61//  this->startingTime = 0;
    6262  this->duration = 10;
    63   this->endTime = 1;
     63  this->endTime = 10;
    6464  this->width = 10;
    6565  this->curve = new BezierCurve();
     
    9090
    9191/**
    92  *
     92 * This function adds a point with its coordinates to the track
    9393 * @param x
    9494 * @param y
     
    102102
    103103/**
    104  *
     104 * This function adds a point to the track as a vector
    105105 * @param newPoint
    106106 */
     
    112112
    113113/**
    114  *
     114 * We probably doesn't even need this
    115115 */
    116116void Track::finalize()
     
    160160Vector Track::calcPos() const
    161161{
    162   return this->curve->calcPos((this->localTime-this->startingTime)/this->duration);
     162  return this->curve->calcPos(this->localTime/this->duration);
    163163}
    164164
    165165Vector Track::calcDir() const
    166166{
    167   return this->curve->calcDir((this->localTime - this->startingTime)/this->duration);
     167  return this->curve->calcDir(this->localTime/this->duration);
    168168}
    169169
     
    174174//     this->jumpTo(this->localTime);
    175175//   if (this->localTime <= this->maxTime)
    176 //     this->localTime += dt;
     176     this->localTime += dt;
    177177//   if (this->localTime > this->currentTrackElem->endTime
    178178//       && this->currentTrackElem->children)
     
    190190//         }
    191191//     }
    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     }
    204206}
    205207
  • branches/playability/src/util/track/track.h

    r10091 r10096  
    3333   PNode* getTrackNode();
    3434     
    35    float                 startingTime;         //!< The time at which this Track begins.
     35   //float                 startingTime;         //!< The time at which this Track begins.
    3636   float                 duration;             //!< The time used to cross this Track (curve).
    3737   float                 endTime;              //!< The time at which this Track ends.
Note: See TracChangeset for help on using the changeset viewer.