mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-23 00:29:19 +02:00
Tabelka liczona od pozycji pojazdu i przejechanej odległości
This commit is contained in:
24
Driver.h
24
Driver.h
@@ -145,8 +145,12 @@ class TSpeedPos
|
||||
void CommandCheck();
|
||||
|
||||
public:
|
||||
TSpeedPos(TTrack *track, double dist, int flag);
|
||||
TSpeedPos(TEvent *event, double dist, TOrders order);
|
||||
TSpeedPos() {};
|
||||
void Clear();
|
||||
bool Update(vector3 *p, vector3 *dir, double &len);
|
||||
bool Update();
|
||||
void UpdateDistance(double dist);
|
||||
bool Set(TEvent *e, double d, TOrders order = Wait_for_orders);
|
||||
void Set(TTrack *t, double d, int f);
|
||||
std::string TableText();
|
||||
@@ -175,7 +179,8 @@ class TController
|
||||
TEvent *eSignSkip = nullptr; // można pominąć ten SBL po zatrzymaniu
|
||||
std::size_t SemNextIndex{ std::size_t(-1) };
|
||||
std::size_t SemNextStopIndex{ std::size_t( -1 ) };
|
||||
private: // parametry aktualnego składu
|
||||
double dMoveLen = 0.0; // odległość przejechana od ostatniego sprawdzenia tabelki
|
||||
private: // parametry aktualnego składu
|
||||
double fLength = 0.0; // długość składu (do wyciągania z ograniczeń)
|
||||
double fMass = 0.0; // całkowita masa do liczenia stycznej składowej grawitacji
|
||||
double fAccGravity = 0.0; // przyspieszenie składowej stycznej grawitacji
|
||||
@@ -366,7 +371,20 @@ class TController
|
||||
void TableCheck(double fDistance);
|
||||
TCommandType TableUpdate(double &fVelDes, double &fDist, double &fNext, double &fAcc);
|
||||
void TablePurger();
|
||||
public:
|
||||
inline double MoveDistanceGet()
|
||||
{
|
||||
return dMoveLen;
|
||||
}
|
||||
inline void MoveDistanceReset()
|
||||
{
|
||||
dMoveLen = 0.0;
|
||||
}
|
||||
public:
|
||||
inline void MoveDistanceAdd(double distance)
|
||||
{
|
||||
dMoveLen += distance * iDirection; //jak jedzie do tyłu to trzeba uwzględniać, że distance jest ujemna
|
||||
}
|
||||
public:
|
||||
std::size_t TableSize() const { return sSpeedTable.size(); }
|
||||
void TableClear();
|
||||
int TableDirection() { return iTableDirection; }
|
||||
|
||||
Reference in New Issue
Block a user