Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/util/track/track.h @ 10454

Last change on this file since 10454 was 10454, checked in by patrick, 17 years ago

track now got constant speed

File size: 1.9 KB
RevLine 
[10084]1/*!
2 * @file track.h
3 */
[10088]4
[10084]5#ifndef _TRACK_H_
6#define _TRACK_H_
7
8#include "curve.h"
9#include "base_object.h"
10
[10085]11// Forward Definition
12class PNode;
13class TiXmlElement;
14
[10084]15class Track : public BaseObject
16{
[10088]17  ObjectListDeclaration(Track);
18
[10085]19 public:
[10088]20   Track();
21   Track(const TiXmlElement* root);
22   virtual ~Track();
23
[10091]24   virtual void loadParams(const TiXmlElement* root);
25   void addPoint(float x, float y, float z);
[10284]26   void addPointV(Vector newPoint);
[10297]27   void setSpeed(float speed);
[10385]28   void setMode(int newMode);
[10088]29
[10284]30   //void finalize();
[10091]31   inline Vector calcPos() const;
32   inline Vector calcDir() const;
33   void tick(float dt);
[10088]34
[10091]35   PNode* getTrackNode();
[10410]36
37   void drawGraph(float dt = 0.01) const;
38
[10096]39   //float                 startingTime;         //!< The time at which this Track begins.
[10454]40   float                 speed;
[10091]41   float                 duration;             //!< The time used to cross this Track (curve).
42   float                 endTime;              //!< The time at which this Track ends.
43   float                 width;                //!< Th width of the Path. This tells the Player(s), how far he(they) can go to the left/right.
[10088]44
[10091]45   int                   nodeCount;            //!< The count of points this Track has.
46   Curve*                curve;                //!< The Curve of this Track
[10088]47
[10091]48 private:
49   void init();
[10088]50
[10091]51
[10085]52 private:
[10091]53   CurveType            curveType;              //!< The CurveType the entire TrackSystem will have.
54   float                localTime;              //!< The time that has been passed since the traveling the Track.
55   PNode*               trackNode;              //!< The node that is slave to the Track. This node will be moved while update the Track, and must NOT move itself.
[10385]56   int                  mode;                   //!< Defines the behaviour of the Track.
[10085]57};
58
59#endif /* _TRACK_H */
Note: See TracBrowser for help on using the repository browser.