Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 17, 2007, 9:11:34 PM (18 years ago)
Author:
bknecht
Message:

some modification for the track

File:
1 edited

Legend:

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

    r10209 r10284  
    2727
    2828#include "p_node.h"
     29
     30#include "stdincl.h"
    2931
    3032#include "debug.h"
     
    6870  this->curve = new BezierCurve();
    6971  this->trackNode = new PNode(PNode::getNullParent(), PNODE_ALL);
     72  this->nodeCount = 0;
    7073}
    7174
     
    8386     LOAD_PARAM_START_CYCLE(root, element);
    8487     {
    85            LoadParam_CYCLE(element, "Point", this, Track, addPoint)
     88           LoadParam_CYCLE(element, "addPoint", this, Track, addPoint)
    8689             .describe("Adds a new Point to the currently selected TrackElement");
    8790
     
    100103void Track::addPoint(float x, float y, float z)
    101104{
    102      this->addPoint(Vector (x,y,z));
     105     this->addPointV(Vector (x,y,z));
    103106}
    104107
     
    108111 * @param newPoint
    109112 */
    110 void Track::addPoint(Vector newPoint)
     113void Track::addPointV(Vector newPoint)
    111114{
    112115   this->curve->addNode(newPoint);
     116   if( this->nodeCount == 0) this->trackNode->setAbsCoor(newPoint);
    113117   this->nodeCount++;
     118   PRINTF(4)("Point added to curve %d\n");
    114119}
    115120
     
    117122 * We probably doesn't even need this
    118123 */
    119 void Track::finalize()
    120 {
     124//void Track::finalize()
     125//{
    121126//   for (int i = 1; i<= trackElemCount ;i++)
    122127//     {
     
    159164      this->maxTime = this->firstTrackElem->findByID(i)->endTime; // very bad implemented :/
    160165      */
    161 }
     166//}
    162167
    163168Vector Track::calcPos() const
     
    204209
    205210       // move trackNode of the track
    206        this->trackNode->setAbsCoor(tmp);
     211       this->trackNode->shiftCoor(tmp - this->trackNode->getAbsCoor());
    207212       // set direction and roll angle of trackNode
    208        this->trackNode->setAbsDir(quat);
     213       // this->trackNode->setAbsDir(quat);
    209214     }
    210215}
     
    217222  return this->trackNode;
    218223}
     224
     225/**
     226 *  Imports a model of the Graph into the OpenGL-environment.
     227 * @param dt The Iterator used in seconds for Painting the Graph.
     228
     229   This is for testing facility only. Do this if you want to see the Path inside the Level.
     230   eventually this will all be packed into a gl-list.
     231*/
     232void Track::drawGraph(float dt) const
     233{
     234      glBegin(GL_LINE_STRIP);
     235        for(float f = 0.0; f < 1.0; f+=dt)
     236          {
     237            // PRINTF(4)("drawing",this->calcPos().x, this->calcPos().y, this->calcPos().z);
     238            Vector tmpVector = this->curve->calcPos(f);
     239            glVertex3f(tmpVector.x, tmpVector.y, tmpVector.z);
     240          }
     241      glEnd();
     242}
Note: See TracChangeset for help on using the changeset viewer.