16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-21 20:39:18 +02:00

Dodane zapamiętywanie ograniczeń róznych typów i wybór z najmniejszego

This commit is contained in:
firleju
2015-10-29 21:57:16 +01:00
parent d3ab168499
commit 553380b8b0
3 changed files with 78 additions and 39 deletions

View File

@@ -50,7 +50,11 @@ enum TMovementStatus
moveGuardSignal = 0x8000, // sygnał od kierownika (minął czas postoju)
moveVisibility = 0x10000, // jazda na widoczność po przejechaniu S1 na SBL
moveDoorOpened = 0x20000, // drzwi zostały otwarte - doliczyć czas na zamknięcie
movePushPull = 0x40000 // zmiana czoła przez zmianę kabiny - nie odczepiać przy zmianie kierunku
movePushPull = 0x40000, // zmiana czoła przez zmianę kabiny - nie odczepiać przy zmianie kierunku
moveSemaphorFound = 0x80000, // na drodze skanowania został znaleziony semafor
moveSemaphorWasElapsed = 0x100000, // minięty został semafor
moveTrainInsideStation = 0x200000, // pociąg między semaforem a rozjazdami lub następnym semaforem
moveSpeedLimitFound = 0x400000 // pociąg w ograniczeniu z podaną jego długością
};
enum TStopReason
@@ -111,6 +115,7 @@ enum TSpeedPosFlag
spSemaphor = 0x4000, // semafor pociągowy
spRoadVel = 0x8000, // zadanie prędkości drogowej
spSectionVel = 0x20000, // odcinek z ograniczeniem
// spProximityVelocity = 0x40000, // odcinek z ograniczeniem i podaną jego długościa
spEndOfTable = 0x10000 // zatkanie tabelki
};
@@ -119,6 +124,7 @@ class TSpeedPos
public:
double fDist; // aktualna odległość (ujemna gdy minięte)
double fVelNext; // prędkość obowiązująca od tego miejsca
double fSectionVelocityDist; //długość ograniczenia prędkości
// double fAcc;
int iFlags; //flagi typu wpisu do tabelki
// 1=istotny,2=tor,4=odwrotnie,8-zwrotnica (może się zmienić),16-stan
@@ -224,8 +230,11 @@ class TController
private:
double VelforDriver; // prędkość, używana przy zmianie kierunku (ograniczenie przy nieznajmości
// szlaku?)
double VelSignal; // predkość zadawana przez semafor (funkcją SetVelocity())
double VelSignal; // ograniczenie prędkości z kompilacji znaków i sygnałów
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
double VelSignalLast; // prędkość zadana na ostatnim semaforze
double VelLimitLast; // prędkość zadana przez ograniczenie
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
// (PutValues albo komendą)
public:
double VelNext; // prędkość, jaka ma być po przejechaniu długości ProximityDist