16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 03:29:19 +02:00

Poprawione wybieranie klasy polimorficznej dla typeid

This commit is contained in:
firleju
2017-01-04 22:42:30 +01:00
parent 6920f88660
commit 3926133db7

View File

@@ -259,23 +259,23 @@ double TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora
for (i = 1; i < i_end; ++i) for (i = 1; i < i_end; ++i)
{ {
Przekladniki[i]->Update(dt); Przekladniki[i]->Update(dt);
if (typeid(Przekladniki[i]) == typeid(TRapid)) if (typeid(*Przekladniki[i]) == typeid(TRapid))
{ {
RapidStatus = RapidStatus =
(((BrakeDelayFlag & bdelay_R) == bdelay_R) && (((BrakeDelayFlag & bdelay_R) == bdelay_R) &&
((abs(Vel) > 70) || ((RapidStatus) && (abs(Vel) > 50)) || (RapidStaly))); ((abs(Vel) > 70) || ((RapidStatus) && (abs(Vel) > 50)) || (RapidStaly)));
Przekladniki[i]->SetRapidStatus(RapidStatus); Przekladniki[i]->SetRapidStatus(RapidStatus);
} }
else if (typeid(Przekladniki[i]) == typeid(TPrzeciwposlizg)) else if (typeid(*Przekladniki[i]) == typeid(TPrzeciwposlizg))
Przekladniki[i]->SetPoslizg((BrakeStatus & b_asb) == b_asb); Przekladniki[i]->SetPoslizg((BrakeStatus & b_asb) == b_asb);
else if (typeid(Przekladniki[i]) == typeid(TPrzekED)) else if (typeid(*Przekladniki[i]) == typeid(TPrzekED))
if ((Vel < -15)) if ((Vel < -15))
Przekladniki[i]->SetP(0); Przekladniki[i]->SetP(0);
else else
Przekladniki[i]->SetP(MaxBP * 3); Przekladniki[i]->SetP(MaxBP * 3);
else if (typeid(Przekladniki[i]) == typeid(TPrzekCiagly)) else if (typeid(*Przekladniki[i]) == typeid(TPrzekCiagly))
Przekladniki[i]->SetMult(LoadC); Przekladniki[i]->SetMult(LoadC);
else if (typeid(Przekladniki[i]) == typeid(TPrzek_PZZ)) else if (typeid(*Przekladniki[i]) == typeid(TPrzek_PZZ))
Przekladniki[i]->SetLBP(LBP); Przekladniki[i]->SetLBP(LBP);
} }
} }
@@ -344,7 +344,7 @@ void TNESt3::Init(double PP, double HPP, double LPP, double BP, int BDF)
Zamykajacy, Przys_blok = false; Zamykajacy, Przys_blok = false;
if (!(typeid(FM) == typeid(TDisk1) || typeid(FM) == typeid(TDisk2))) // jesli zeliwo to schodz if (!(typeid(*FM) == typeid(TDisk1) || typeid(*FM) == typeid(TDisk2))) // jesli zeliwo to schodz
RapidStaly = false; RapidStaly = false;
else else
RapidStaly = true; RapidStaly = true;