Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/sound/src/track.h @ 3500

Last change on this file since 3500 was 3238, checked in by bensch, 20 years ago

orxonox/branches: updated branches: buerli, nico, sound. And moved bezierTrack to old.bezierTrack. Conflicts resolved in a usefull order.
Conflics mostly resolved in favor of trunk
merge.

File size: 1.2 KB
RevLine 
[2141]1/*!
2    \file track.h
3    \brief Basic level architecture
4*/ 
[2068]5
[3238]6#ifndef _TRACK_H
7#define _TRACK_H
[2068]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]16class 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 
[3238]27 
[2068]28 public:
[2636]29  Track ();
[2080]30  Track (Uint32 number, Uint32 next, Vector* start, Vector* finish);
[2068]31  ~Track ();
[2636]32  virtual void init();
33 
[3238]34  virtual void postEnter (WorldEntity* entity); // handle coordinate transition in here !!! (when dist < 0 or dist > lasttracklenght)
35  virtual void postLeave (WorldEntity* entity);
[2636]36  virtual void tick (float deltaT);
[3238]37  virtual void mapCamera (Location* lookat, Placement* camplc);
38  virtual bool mapCoords (Location* loc, Placement* plc);       // this should return true if the entity left track boundaries
[2068]39};
40
[3238]41#endif /* _TRACK_H */
Note: See TracBrowser for help on using the repository browser.