| 
                Last change
                  on this file since 2624 was
                  2551,
                  checked in by patrick, 21 years ago
           | 
        
        
          | 
               
orxonox/trunk: minor changes - enhanced sc controll, fixed uncontrolled rotation effect, added some debug outputs for testing purposes, reformatted some src files from win style but not all 
 
           | 
        
        | 
            File size:
            1.1 KB
           | 
      
      
        
  | Rev | Line |   | 
|---|
| [2141] | 1 | /*!  | 
|---|
 | 2 |     \file track.h | 
|---|
 | 3 |     \brief Basic level architecture | 
|---|
 | 4 | */  | 
|---|
| [2068] | 5 |  | 
|---|
 | 6 | #ifndef TRACK_H | 
|---|
 | 7 | #define TRACK_H | 
|---|
 | 8 |  | 
|---|
| [2101] | 9 | #include "stdincl.h" | 
|---|
 | 10 |  | 
|---|
| [2141] | 11 | //!     The Red Line through a level | 
|---|
 | 12 | /** | 
|---|
| [2551] | 13 |    Handles level boundaries, bound movement mapping, camera placement and scripting. | 
|---|
 | 14 |    To create special levels with special camera movement, rules or whatever, derive from this base class. | 
|---|
| [2141] | 15 | */ | 
|---|
| [2068] | 16 | class Track  | 
|---|
 | 17 | { | 
|---|
 | 18 |  private: | 
|---|
| [2551] | 19 |   Uint32 ID; | 
|---|
 | 20 |   Vector* offset; | 
|---|
 | 21 |   Vector* end; | 
|---|
 | 22 |   // Vector* direction; // unity direction vector: it is costy to always recalculate it | 
|---|
 | 23 |   //Vector* up; // direction where up is ment to be - diffuse in space, eh? | 
|---|
 | 24 |   //Vector* traverse; // right-left  | 
|---|
 | 25 |   Uint32 nextID; | 
|---|
 | 26 |    | 
|---|
| [2068] | 27 |          | 
|---|
 | 28 |  public: | 
|---|
| [2101] | 29 |         Track (); | 
|---|
| [2080] | 30 |   Track (Uint32 number, Uint32 next, Vector* start, Vector* finish); | 
|---|
| [2068] | 31 |   ~Track (); | 
|---|
 | 32 |          | 
|---|
| [2080] | 33 |         virtual void post_enter (WorldEntity* entity);  // handle coordinate transition in here !!! (when dist < 0 or dist > lasttracklenght) | 
|---|
 | 34 |         virtual void post_leave (WorldEntity* entity); | 
|---|
 | 35 |         virtual void tick (float deltaT); | 
|---|
| [2068] | 36 |         virtual void map_camera (Location* lookat, Placement* camplc); | 
|---|
| [2080] | 37 |         virtual bool map_coords (Location* loc, Placement* plc);        // this should return true if the entity left track boundaries | 
|---|
| [2068] | 38 | }; | 
|---|
 | 39 |  | 
|---|
 | 40 | #endif | 
|---|
       
      
      Note: See 
TracBrowser
        for help on using the repository browser.