| Last change
                  on this file since 10435 was
                  10410,
                  checked in by patrick, 19 years ago | 
        
          | 
the track now is been drawn for the camera
 | 
        | File size:
            1.8 KB | 
      
      
        
  | Rev | Line |  | 
|---|
| [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 | 
|---|
|  | 12 | class PNode; | 
|---|
|  | 13 | class TiXmlElement; | 
|---|
|  | 14 |  | 
|---|
| [10084] | 15 | class 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. | 
|---|
| [10091] | 40 | float                 duration;             //!< The time used to cross this Track (curve). | 
|---|
|  | 41 | float                 endTime;              //!< The time at which this Track ends. | 
|---|
|  | 42 | float                 width;                //!< Th width of the Path. This tells the Player(s), how far he(they) can go to the left/right. | 
|---|
| [10088] | 43 |  | 
|---|
| [10091] | 44 | int                   nodeCount;            //!< The count of points this Track has. | 
|---|
|  | 45 | Curve*                curve;                //!< The Curve of this Track | 
|---|
| [10088] | 46 |  | 
|---|
| [10091] | 47 | private: | 
|---|
|  | 48 | void init(); | 
|---|
| [10088] | 49 |  | 
|---|
| [10091] | 50 |  | 
|---|
| [10085] | 51 | private: | 
|---|
| [10091] | 52 | CurveType            curveType;              //!< The CurveType the entire TrackSystem will have. | 
|---|
|  | 53 | float                localTime;              //!< The time that has been passed since the traveling the Track. | 
|---|
|  | 54 | 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] | 55 | int                  mode;                   //!< Defines the behaviour of the Track. | 
|---|
| [10085] | 56 | }; | 
|---|
|  | 57 |  | 
|---|
|  | 58 | #endif /* _TRACK_H */ | 
|---|
       
      
      Note: See 
TracBrowser
        for help on using the repository browser.