Changeset 4496 in orxonox.OLD for orxonox/trunk/src/util/track
- Timestamp:
- Jun 3, 2005, 3:52:05 AM (20 years ago)
- Location:
- orxonox/trunk/src/util/track
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/util/track/track_manager.cc
r4489 r4496 25 25 #include "text_engine.h" 26 26 #include "t_animation.h" 27 #include "load_param.h" 28 29 30 #include "tinyxml.h" 27 31 #include "substring.h" 28 #include "tinyxml.h"29 32 30 33 #include <stdarg.h> … … 409 412 while( element != NULL) 410 413 { 411 if( !strcmp( element->Value(), "Point")) 412 { 413 container = element->FirstChild(); 414 if( container->ToText()) 415 { 416 assert( container->Value() != NULL); 417 if( sscanf( container->Value(), "%lf,%lf,%lf", &x, &y, &z) == 3) 418 { 419 PRINTF(5)("Loaded Point: %lf,%lf,%lf (%s)\n", x, y, z, container->Value()); 420 addPoint( Vector( x, y, z)); 421 } 422 else 423 { 424 PRINTF(0)("Invalid Point in Track (skipped)\n"); 425 } 426 } 427 } 428 else if( !strcmp( element->Value(), "Duration")) 429 { 430 container = element->FirstChild(); 431 if( container->ToText()) 432 { 433 assert( container->Value() != NULL); 434 if( sscanf( container->Value(), "%lf", &d) == 1) 435 { 436 PRINTF(5)("Loaded Duration: %lf (%s)\n", d, container->Value()); 437 setDuration( d); 438 } 439 else 440 { 441 PRINTF(2)("Invalid Duration in Track (skipped)\n"); 442 } 443 } 444 } 445 else if( !strcmp( element->Value(), "SavePoint")) 414 LoadParam<TrackManager>(element, "Point", this, &TrackManager::addPoint, true) 415 .describe("Adds a new Point to the currently selected TrackElement"); 416 417 LoadParam<TrackManager>(element, "Duration", this, &TrackManager::setDuration, true) 418 .describe("Sets the Duration of the currently selected TrackElement"); 419 420 LoadParam<TrackManager>(element, "SavePoint", this, &TrackManager::setSavePoint, true); 421 422 /* 423 if( !strcmp( element->Value(), "SavePoint")) 446 424 { 447 425 PRINTF(5)("Loaded Savepoint\n"); 448 426 setSavePoint(); 449 427 } 450 else if( !strcmp( element->Value(), "Fork")) 428 */ 429 if( !strcmp( element->Value(), "Fork")) 451 430 { 452 431 container = element->FirstChild(); … … 526 505 newElem->startingTime = trackElem->endTime + trackElem->jumpTime; 527 506 // adds the conection Point 528 this->addPoint (trackElem->curve->getNode(trackElem->curve->getNodeCount()),507 this->addPointV(trackElem->curve->getNode(trackElem->curve->getNodeCount()), 529 508 newElem); 530 509 // add the new child to the childList. … … 600 579 601 580 /** 581 \param duration the duration of the TrackElement 582 \see void TrackManager::setDuration(float duration, TrackElement* trackElem) 583 */ 584 void TrackManager::setDuration(float duration) 585 { 586 this->setDuration(duration, NULL); 587 } 588 589 /** 602 590 \brief Sets the duration of the current path in seconds. 603 591 \param duration The duration in seconds. … … 615 603 /** 616 604 \brief adds a point to trackElem 605 \param x x coord 606 \param y y coord 607 \param z z coord 608 \param trackElem The TrackElement to add the Point to 609 */ 610 void TrackManager::addPoint(float x, float y, float z) 611 { 612 this->addPointV(Vector(x,y,z)); 613 } 614 615 /** 616 \brief adds a point to trackElem 617 617 \param newPoint The point to add. 618 618 \param trackElem The TrackElement to add the Point to 619 619 */ 620 bool TrackManager::addPoint(Vector newPoint, TrackElement* trackElem)620 void TrackManager::addPointV(Vector newPoint, TrackElement* trackElem) 621 621 { 622 622 if (!trackElem) … … 653 653 trackElem->nodeCount++; 654 654 this->initChildren(1, trackElem); 655 } 656 657 /** 658 \todo this must be better 659 */ 660 void TrackManager::setSavePoint(int isLoadable) 661 { 662 this->setSavePoint(); 655 663 } 656 664 … … 946 954 else 947 955 { 948 this->addPoint (tmpc2Point, tmpJoinElem);949 this->addPoint (tmpTangentPoint, tmpJoinElem);950 this->addPoint (tmpEndPoint, tmpJoinElem);956 this->addPointV(tmpc2Point, tmpJoinElem); 957 this->addPointV(tmpTangentPoint, tmpJoinElem); 958 this->addPointV(tmpEndPoint, tmpJoinElem); 951 959 // time all other Joins 952 960 tmpJoinElem->jumpTime = tmpLatestTime - tmpJoinElem->endTime; -
orxonox/trunk/src/util/track/track_manager.h
r4489 r4496 151 151 inline void setCurveType(CurveType curveType) { this->setCurveType (curveType, this->currentTrackElem);}; 152 152 void setCurveType(CurveType curveType, TrackElement* trackElem); 153 void setDuration(float duration, TrackElement* trackElem = NULL); 154 bool addPoint(Vector newPoint, TrackElement* trackElem = NULL); 153 void setDuration(float duration); 154 void setDuration(float duration, TrackElement* trackElem); 155 void addPoint(float x, float y, float z); 156 void addPointV(Vector newPoint, TrackElement* trackElem = NULL); 155 157 int addHotPoint(Vector newPoint, TrackElement* trackElem = NULL); 158 void setSavePoint(int isLoadable); 156 159 int setSavePoint(TrackElement* trackElem = NULL); 157 160 void fork(unsigned int count, ...);
Note: See TracChangeset
for help on using the changeset viewer.