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

basic patches for most of discovered memory leaks, fixes for brake system components

This commit is contained in:
tmj-fstate
2017-01-18 07:56:51 +01:00
parent 4da7fedfe1
commit 6ab550831d
33 changed files with 824 additions and 929 deletions

View File

@@ -327,21 +327,17 @@ void TNESt3::Init(double PP, double HPP, double LPP, double BP, int BDF)
ValveRes->CreatePress(PP);
BrakeCyl->CreatePress(BP);
BrakeRes->CreatePress(PP);
CntrlRes = new TReservoir();
CntrlRes = std::make_shared<TReservoir>();
CntrlRes->CreateCap(15);
CntrlRes->CreatePress(HPP);
BrakeStatus = static_cast<int>(BP > 1.0);
Miedzypoj = new TReservoir();
Miedzypoj = std::make_shared<TReservoir>();
Miedzypoj->CreateCap(5);
Miedzypoj->CreatePress(PP);
BVM = 1.0 / (HPP - 0.05 - LPP) * MaxBP;
BrakeDelayFlag = BDF;
RapidStatus = false;
LoadC, LoadM, TareBP, TareM, Podskok, LBP = 0.0;
Zamykajacy, Przys_blok = false;
if (!(typeid(*FM) == typeid(TDisk1) || typeid(*FM) == typeid(TDisk2))) // jesli zeliwo to schodz
RapidStaly = false;
@@ -500,32 +496,31 @@ void TNESt3::SetSize(int size, std::string params) // ustawianie dysz (rozmiaru
if (params.find("ESt3") != std::string::npos)
{
Podskok = 0.7;
Przekladniki[1] = new TRura();
Przekladniki[3] = new TRura();
Przekladniki[1] = std::make_shared<TRura>();
Przekladniki[3] = std::make_shared<TRura>();
}
else
{
Podskok = -1;
Przekladniki[1] = new TRapid();
Przekladniki[1] = std::make_shared<TRapid>();
if (params.find("-s216") != std::string::npos)
Przekladniki[1]->SetRapidParams(2, 16);
else
Przekladniki[1]->SetRapidParams(2, 0);
Przekladniki[3] = new TPrzeciwposlizg();
Przekladniki[3] = std::make_shared<TPrzeciwposlizg>();
if (params.find("-ED") != std::string::npos)
{
delete Przekladniki[3]; // tutaj ma byæ destruktor
Przekladniki[1]->SetRapidParams(2, 18);
Przekladniki[3] = new TPrzekED();
Przekladniki[3] = std::make_shared<TPrzekED>();
}
}
if (params.find("AL2") != std::string::npos)
Przekladniki[2] = new TPrzekCiagly();
Przekladniki[2] = std::make_shared<TPrzekCiagly>();
else if (params.find("PZZ") != std::string::npos)
Przekladniki[2] = new TPrzek_PZZ();
Przekladniki[2] = std::make_shared<TPrzek_PZZ>();
else
Przekladniki[2] = new TRura();
Przekladniki[2] = std::make_shared<TRura>();
if ((params.find("3d") + params.find("4d")) != std::string::npos)
autom = false;