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