Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/buerli/src/track.h @ 2624

Last change on this file since 2624 was 2551, checked in by patrick, 20 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
Line 
1/*!
2    \file track.h
3    \brief Basic level architecture
4*/ 
5
6#ifndef TRACK_H
7#define TRACK_H
8
9#include "stdincl.h"
10
11//!     The Red Line through a level
12/**
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.
15*/
16class Track
17{
18 private:
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 
27       
28 public:
29        Track ();
30  Track (Uint32 number, Uint32 next, Vector* start, Vector* finish);
31  ~Track ();
32       
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);
36        virtual void map_camera (Location* lookat, Placement* camplc);
37        virtual bool map_coords (Location* loc, Placement* plc);        // this should return true if the entity left track boundaries
38};
39
40#endif
Note: See TracBrowser for help on using the repository browser.