00001 #ifndef __J2K__Train__Track_HPP__
00002 #define __J2K__Train__Track_HPP__
00003
00004 #define NUM_OF_SWITCHES
00005
00006 class Track{
00007 public:
00008 Track();
00009 virtual ~Track();
00010
00011 BOOL isSwitchStraight(int s);
00012 BOOL isSwitchCurve(int s);
00013
00014 BOOL reserveSwitch( Train* t, int sector );
00015 void activateSwitch(int sectornumber, BOOL active = TRUE );
00016 BOOL realeaseSwitch( Train* t, int sector );
00017
00018 BOOL reserveSector( Train* t, int sector );
00019 void activateSector(int sectornumber, BOOL active = TRUE );
00020 BOOL realeaseSector( Train* t, int sector );
00021
00022 int getSuitation();
00023 void changeSuitation(int currentSuitation);
00024
00025 private:
00026 SwitchPoint* switchPoint[NUM_OF_SWITCHES];
00027 Sector* sector[SIZE_OF_SECTOR];
00028 int currentSuitation;
00029 };
00030
00031 #endif