mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 11:39:19 +02:00
Replace Max0R and Min0R with std::max and std::min
This commit is contained in:
@@ -356,7 +356,7 @@ double TMoverParameters::Current(double n, double U)
|
|||||||
if (DynamicBrakeFlag && (!FuseFlag) && (DynamicBrakeType == dbrake_automatic) && Power110vIsAvailable && Mains) // hamowanie EP09 //TUHEX
|
if (DynamicBrakeFlag && (!FuseFlag) && (DynamicBrakeType == dbrake_automatic) && Power110vIsAvailable && Mains) // hamowanie EP09 //TUHEX
|
||||||
{
|
{
|
||||||
// TODO: zrobic bardziej uniwersalne nie tylko dla EP09
|
// TODO: zrobic bardziej uniwersalne nie tylko dla EP09
|
||||||
MotorCurrent = -Max0R(MotorParam[0].fi * (Vadd / (Vadd + MotorParam[0].Isat) - MotorParam[0].fi0), 0) * n * 2.0 / DynamicBrakeRes;
|
MotorCurrent = -std::max(MotorParam[0].fi * (Vadd / (Vadd + MotorParam[0].Isat) - MotorParam[0].fi0), 0.) * n * 2.0 / DynamicBrakeRes;
|
||||||
}
|
}
|
||||||
else if ((RList[MainCtrlActualPos].Bn == 0) || (false == StLinFlag))
|
else if ((RList[MainCtrlActualPos].Bn == 0) || (false == StLinFlag))
|
||||||
{
|
{
|
||||||
@@ -1079,7 +1079,7 @@ double TMoverParameters::LocalBrakeRatio(void)
|
|||||||
LBR = 0;
|
LBR = 0;
|
||||||
}
|
}
|
||||||
// if (TestFlag(BrakeStatus, b_antislip))
|
// if (TestFlag(BrakeStatus, b_antislip))
|
||||||
// LBR = Max0R(LBR, PipeRatio) + 0.4;
|
// LBR = std::max(LBR, PipeRatio) + 0.4;
|
||||||
return LBR;
|
return LBR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1137,17 +1137,17 @@ double TMoverParameters::PipeRatio(void)
|
|||||||
if (false) // SPKS!! no to jak nie wchodzimy to po co branch?
|
if (false) // SPKS!! no to jak nie wchodzimy to po co branch?
|
||||||
{
|
{
|
||||||
if ((3.0 * PipePress) > (HighPipePress + LowPipePress + LowPipePress))
|
if ((3.0 * PipePress) > (HighPipePress + LowPipePress + LowPipePress))
|
||||||
pr = (HighPipePress - Min0R(HighPipePress, PipePress)) / (DeltaPipePress * 4.0 / 3.0);
|
pr = (HighPipePress - std::min(HighPipePress, PipePress)) / (DeltaPipePress * 4.0 / 3.0);
|
||||||
else
|
else
|
||||||
pr = (HighPipePress - 1.0 / 3.0 * DeltaPipePress - Max0R(LowPipePress, PipePress)) / (DeltaPipePress * 2.0 / 3.0);
|
pr = (HighPipePress - 1.0 / 3.0 * DeltaPipePress - std::max(LowPipePress, PipePress)) / (DeltaPipePress * 2.0 / 3.0);
|
||||||
// if (not TestFlag(BrakeStatus, b_Ractive))
|
// if (not TestFlag(BrakeStatus, b_Ractive))
|
||||||
// and(BrakeMethod and 1 = 0) and TestFlag(BrakeDelays, bdelay_R) and (Power < 1) and
|
// and(BrakeMethod and 1 = 0) and TestFlag(BrakeDelays, bdelay_R) and (Power < 1) and
|
||||||
// (BrakeCtrlPos < 1) then pr : = Min0R(0.5, pr);
|
// (BrakeCtrlPos < 1) then pr : = std::min(0.5, pr);
|
||||||
// if (Compressor > 0.5)
|
// if (Compressor > 0.5)
|
||||||
// then pr : = pr * 1.333; // dziwny rapid wywalamy
|
// then pr : = pr * 1.333; // dziwny rapid wywalamy
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pr = (HighPipePress - Max0R(LowPipePress, Min0R(HighPipePress, PipePress))) / DeltaPipePress;
|
pr = (HighPipePress - std::max(LowPipePress, std::min(HighPipePress, PipePress))) / DeltaPipePress;
|
||||||
else
|
else
|
||||||
pr = 0;
|
pr = 0;
|
||||||
return pr;
|
return pr;
|
||||||
@@ -2979,7 +2979,7 @@ bool TMoverParameters::AddPulseForce(int Multipler)
|
|||||||
DirActive = CabActive;
|
DirActive = CabActive;
|
||||||
DirAbsolute = DirActive * CabActive;
|
DirAbsolute = DirActive * CabActive;
|
||||||
if (Vel > 0)
|
if (Vel > 0)
|
||||||
PulseForce = Min0R(1000.0 * Power / (abs(V) + 0.1), Ftmax);
|
PulseForce = std::min(1000.0 * Power / (abs(V) + 0.1), Ftmax);
|
||||||
else
|
else
|
||||||
PulseForce = Ftmax;
|
PulseForce = Ftmax;
|
||||||
if (PulseForceCount > 1000.0)
|
if (PulseForceCount > 1000.0)
|
||||||
@@ -5199,7 +5199,7 @@ double TMoverParameters::Adhesive(double staticfriction) const
|
|||||||
if (SlippingWheels == false)
|
if (SlippingWheels == false)
|
||||||
{
|
{
|
||||||
if (SandDose)
|
if (SandDose)
|
||||||
adhesion = (Max0R(staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 11.0), 0.048)) *
|
adhesion = (std::max(staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 11.0), 0.048)) *
|
||||||
(11.0 - 2.0 * Random(0.0, 1.0));
|
(11.0 - 2.0 * Random(0.0, 1.0));
|
||||||
else
|
else
|
||||||
adhesion = (staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 10.0)) *
|
adhesion = (staticfriction * (100.0 + Vel) / ((50.0 + Vel) * 10.0)) *
|
||||||
@@ -5748,7 +5748,7 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
else if ((DynamicBrakeFlag) && ((Vadd + abs(Im)) < TUHEX_Sum - TUHEX_Diff))
|
else if ((DynamicBrakeFlag) && ((Vadd + abs(Im)) < TUHEX_Sum - TUHEX_Diff))
|
||||||
{
|
{
|
||||||
Vadd += 70.0 * dt;
|
Vadd += 70.0 * dt;
|
||||||
Vadd = Min0R(Max0R(Vadd, TUHEX_MinIw), TUHEX_MaxIw);
|
Vadd = std::min(std::max(Vadd, TUHEX_MinIw), TUHEX_MaxIw);
|
||||||
}
|
}
|
||||||
if (Vadd > 0)
|
if (Vadd > 0)
|
||||||
Mm = MomentumF(Im, Vadd, 0);
|
Mm = MomentumF(Im, Vadd, 0);
|
||||||
@@ -6248,7 +6248,7 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
// ustalanie współczynnika blendingu do luzowania hamulca PN
|
// ustalanie współczynnika blendingu do luzowania hamulca PN
|
||||||
if (eimv[eimv_Fmax] * Sign(V) * DirAbsolute < -1)
|
if (eimv[eimv_Fmax] * Sign(V) * DirAbsolute < -1)
|
||||||
{
|
{
|
||||||
PosRatio = -Sign(V) * DirAbsolute * eimv[eimv_Fr] / (eimc[eimc_p_Fh] * Max0R(edBCP, Max0R(0.01, Hamulec->GetEDBCP())) / MaxBrakePress[0]);
|
PosRatio = -Sign(V) * DirAbsolute * eimv[eimv_Fr] / (eimc[eimc_p_Fh] * std::max(edBCP, std::max(0.01, Hamulec->GetEDBCP())) / MaxBrakePress[0]);
|
||||||
PosRatio = clamp(PosRatio, 0.0, 1.0);
|
PosRatio = clamp(PosRatio, 0.0, 1.0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -6258,7 +6258,7 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
PosRatio = Round(20.0 * PosRatio) / 20.0; // stopniowanie PN/ED
|
PosRatio = Round(20.0 * PosRatio) / 20.0; // stopniowanie PN/ED
|
||||||
if (PosRatio < 19.5 / 20.0)
|
if (PosRatio < 19.5 / 20.0)
|
||||||
PosRatio *= 0.9;
|
PosRatio *= 0.9;
|
||||||
Hamulec->SetED(Max0R(0.0, std::min(PosRatio, 1.0))); // ustalenie stopnia zmniejszenia ciśnienia
|
Hamulec->SetED(std::max(0.0, std::min(PosRatio, 1.0))); // ustalenie stopnia zmniejszenia ciśnienia
|
||||||
// ustalanie siły hamowania ED
|
// ustalanie siły hamowania ED
|
||||||
if ((Hamulec->GetEDBCP() > 0.25) && (eimc[eimc_p_abed] < 0.001) || (ActiveInverters < InvertersNo)) // jeśli PN wyłącza ED
|
if ((Hamulec->GetEDBCP() > 0.25) && (eimc[eimc_p_abed] < 0.001) || (ActiveInverters < InvertersNo)) // jeśli PN wyłącza ED
|
||||||
{
|
{
|
||||||
@@ -6274,16 +6274,16 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PosRatio = Max0R(eimic_real, 0);
|
PosRatio = std::max(eimic_real, 0.);
|
||||||
eimv[eimv_Fzad] = PosRatio;
|
eimv[eimv_Fzad] = PosRatio;
|
||||||
if ((Flat) && (eimc[eimc_p_F0] * eimv[eimv_Fful] > 0))
|
if ((Flat) && (eimc[eimc_p_F0] * eimv[eimv_Fful] > 0))
|
||||||
PosRatio = Min0R(PosRatio * eimc[eimc_p_F0] / eimv[eimv_Fful], 1);
|
PosRatio = std::min(PosRatio * eimc[eimc_p_F0] / eimv[eimv_Fful], 1.);
|
||||||
/* if (ScndCtrlActualPos > 0) //speed control
|
/* if (ScndCtrlActualPos > 0) //speed control
|
||||||
if (Vmax < 250)
|
if (Vmax < 250)
|
||||||
PosRatio = Min0R(PosRatio, Max0R(-1, 0.5 * (ScndCtrlActualPos - Vel)));
|
PosRatio = std::min(PosRatio, std::max(-1, 0.5 * (ScndCtrlActualPos - Vel)));
|
||||||
else
|
else
|
||||||
PosRatio =
|
PosRatio =
|
||||||
Min0R(PosRatio, Max0R(-1, 0.5 * (ScndCtrlActualPos * 2 - Vel))); */
|
std::min(PosRatio, std::max(-1, 0.5 * (ScndCtrlActualPos * 2 - Vel))); */
|
||||||
// PosRatio = 1.0 * (PosRatio * 0 + 1) * PosRatio; // 1 * 1 * PosRatio = PosRatio
|
// PosRatio = 1.0 * (PosRatio * 0 + 1) * PosRatio; // 1 * 1 * PosRatio = PosRatio
|
||||||
Hamulec->SetED(0);
|
Hamulec->SetED(0);
|
||||||
// (Hamulec as TLSt).SetLBP(LocBrakePress);
|
// (Hamulec as TLSt).SetLBP(LocBrakePress);
|
||||||
@@ -6312,7 +6312,7 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
eimv_pr = 0;
|
eimv_pr = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
eimv_pr += Max0R(Min0R(PosRatio - eimv_pr, 0.02), -0.02) * 12 * (tmp /*2{+4*byte(PosRatio<eimv_pr)*/) * dt; // wartość zadana/procent czegoś
|
eimv_pr += std::max(std::min(PosRatio - eimv_pr, 0.02), -0.02) * 12 * (tmp /*2{+4*byte(PosRatio<eimv_pr)*/) * dt; // wartość zadana/procent czegoś
|
||||||
|
|
||||||
if ((DynamicBrakeFlag))
|
if ((DynamicBrakeFlag))
|
||||||
tmp = eimc[eimc_f_Uzh];
|
tmp = eimc[eimc_f_Uzh];
|
||||||
@@ -6321,7 +6321,7 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
|
|
||||||
auto f_cfu{DynamicBrakeFlag ? eimc[eimc_f_cfuH] : eimc[eimc_f_cfu]};
|
auto f_cfu{DynamicBrakeFlag ? eimc[eimc_f_cfuH] : eimc[eimc_f_cfu]};
|
||||||
|
|
||||||
eimv[eimv_Uzsmax] = Min0R(EngineVoltage - eimc[eimc_f_DU], tmp);
|
eimv[eimv_Uzsmax] = std::min(EngineVoltage - eimc[eimc_f_DU], tmp);
|
||||||
eimv[eimv_fkr] = eimv[eimv_Uzsmax] / f_cfu;
|
eimv[eimv_fkr] = eimv[eimv_Uzsmax] / f_cfu;
|
||||||
if ((eimv_pr < 0))
|
if ((eimv_pr < 0))
|
||||||
{
|
{
|
||||||
@@ -6344,15 +6344,15 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
eimv[eimv_Fr] = -Sign(V) * (DirAbsolute)*std::min(eimc[eimc_p_Ph] * 3.6 / (Vel != 0.0 ? Vel : 0.001), std::min(-eimc[eimc_p_Fh] * pr, eimv[eimv_FMAXMAX]));
|
eimv[eimv_Fr] = -Sign(V) * (DirAbsolute)*std::min(eimc[eimc_p_Ph] * 3.6 / (Vel != 0.0 ? Vel : 0.001), std::min(-eimc[eimc_p_Fh] * pr, eimv[eimv_FMAXMAX]));
|
||||||
if (InvertersRatio < 1.0)
|
if (InvertersRatio < 1.0)
|
||||||
eimv[eimv_Fful] = 0;
|
eimv[eimv_Fful] = 0;
|
||||||
//*Min0R(1,(Vel-eimc[eimc_p_Vh0])/(eimc[eimc_p_Vh1]-eimc[eimc_p_Vh0]))
|
//*std::min(1,(Vel-eimc[eimc_p_Vh0])/(eimc[eimc_p_Vh1]-eimc[eimc_p_Vh0]))
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
eimv[eimv_Fful] = Min0R(Min0R(3.6 * eimv[eimv_Pmax] / Max0R(Vel, 1), eimc[eimc_p_F0] - Vel * eimc[eimc_p_a1]), eimv[eimv_FMAXMAX]);
|
eimv[eimv_Fful] = std::min(std::min(3.6 * eimv[eimv_Pmax] / std::max(Vel, 1.), eimc[eimc_p_F0] - Vel * eimc[eimc_p_a1]), eimv[eimv_FMAXMAX]);
|
||||||
// if(not Flat)then
|
// if(not Flat)then
|
||||||
eimv[eimv_Fmax] = eimv[eimv_Fful] * eimv_pr;
|
eimv[eimv_Fmax] = eimv[eimv_Fful] * eimv_pr;
|
||||||
// else
|
// else
|
||||||
// eimv[eimv_Fmax]:=Min0R(eimc[eimc_p_F0]*eimv_pr,eimv[eimv_Fful]);
|
// eimv[eimv_Fmax]:=std::min(eimc[eimc_p_F0]*eimv_pr,eimv[eimv_Fful]);
|
||||||
double pr = eimv_pr;
|
double pr = eimv_pr;
|
||||||
if (EIMCLogForce)
|
if (EIMCLogForce)
|
||||||
pr = log(1 + 4 * pr) / log(5);
|
pr = log(1 + 4 * pr) / log(5);
|
||||||
@@ -6367,7 +6367,7 @@ double TMoverParameters::TractionForce(double dt)
|
|||||||
eimv[eimv_ks] = eimv[eimv_Fr] / eimv[eimv_FMAXMAX];
|
eimv[eimv_ks] = eimv[eimv_Fr] / eimv[eimv_FMAXMAX];
|
||||||
eimv[eimv_df] = eimv[eimv_ks] * eimc[eimc_s_dfmax];
|
eimv[eimv_df] = eimv[eimv_ks] * eimc[eimc_s_dfmax];
|
||||||
eimv[eimv_fp] = DirAbsolute * enrot * eimc[eimc_s_p] + eimv[eimv_df]; // do przemyslenia dzialanie pp z tmpV
|
eimv[eimv_fp] = DirAbsolute * enrot * eimc[eimc_s_p] + eimv[eimv_df]; // do przemyslenia dzialanie pp z tmpV
|
||||||
// eimv[eimv_U]:=Max0R(eimv[eimv_Uzsmax],Min0R(eimc[eimc_f_cfu]*eimv[eimv_fp],eimv[eimv_Uzsmax]));
|
// eimv[eimv_U]:=std::max(eimv[eimv_Uzsmax],std::min(eimc[eimc_f_cfu]*eimv[eimv_fp],eimv[eimv_Uzsmax]));
|
||||||
// eimv[eimv_pole]:=eimv[eimv_U]/(eimv[eimv_fp]*eimc[eimc_s_cfu]);
|
// eimv[eimv_pole]:=eimv[eimv_U]/(eimv[eimv_fp]*eimc[eimc_s_cfu]);
|
||||||
if ((abs(eimv[eimv_fp]) <= eimv[eimv_fkr]))
|
if ((abs(eimv[eimv_fp]) <= eimv[eimv_fkr]))
|
||||||
eimv[eimv_pole] = f_cfu / eimc[eimc_s_cfu];
|
eimv[eimv_pole] = f_cfu / eimc[eimc_s_cfu];
|
||||||
@@ -6668,7 +6668,7 @@ double TMoverParameters::MomentumF(double I, double Iw, int SCP)
|
|||||||
{
|
{
|
||||||
// umozliwia dokladne sterowanie wzbudzeniem
|
// umozliwia dokladne sterowanie wzbudzeniem
|
||||||
|
|
||||||
return (MotorParam[SCP].mfi * I * Max0R(abs(Iw) / (abs(Iw) + MotorParam[SCP].mIsat) - MotorParam[SCP].mfi0, 0));
|
return (MotorParam[SCP].mfi * I * std::max(abs(Iw) / (abs(Iw) + MotorParam[SCP].mIsat) - MotorParam[SCP].mfi0, 0.));
|
||||||
}
|
}
|
||||||
|
|
||||||
// *************************************************************************************************
|
// *************************************************************************************************
|
||||||
@@ -8030,7 +8030,7 @@ double TMoverParameters::dizel_Momentum(double dizel_fill, double n, double dt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// sprawdzanie dociskow poszczegolnych sprzegiel
|
// sprawdzanie dociskow poszczegolnych sprzegiel
|
||||||
if (abs(Moment) > Min0R(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) || (abs(dizel_n_old - enrot) > 0.1)) // slizga sie z powodu roznic predkosci albo przekroczenia momentu
|
if (abs(Moment) > std::min(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) || (abs(dizel_n_old - enrot) > 0.1)) // slizga sie z powodu roznic predkosci albo przekroczenia momentu
|
||||||
{
|
{
|
||||||
dizel_engagedeltaomega = enrot - dizel_n_old;
|
dizel_engagedeltaomega = enrot - dizel_n_old;
|
||||||
|
|
||||||
@@ -8068,8 +8068,8 @@ double TMoverParameters::dizel_Momentum(double dizel_fill, double n, double dt)
|
|||||||
dizel_engagedeltaomega = 0;
|
dizel_engagedeltaomega = 0;
|
||||||
gearMoment = Moment;
|
gearMoment = Moment;
|
||||||
enMoment = 0;
|
enMoment = 0;
|
||||||
double enrot_min = enrot - (Min0R(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) - Moment) / dizel_AIM * dt;
|
double enrot_min = enrot - (std::min(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) - Moment) / dizel_AIM * dt;
|
||||||
double enrot_max = enrot + (Min0R(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) + Moment) / dizel_AIM * dt;
|
double enrot_max = enrot + (std::min(TorqueC, TorqueL + abs(hydro_TC_TorqueIn)) + Moment) / dizel_AIM * dt;
|
||||||
enrot = clamp(n, enrot_min, enrot_max);
|
enrot = clamp(n, enrot_min, enrot_max);
|
||||||
}
|
}
|
||||||
if ((hydro_R) && (hydro_R_Placement == 1))
|
if ((hydro_R) && (hydro_R_Placement == 1))
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ double TP10Bg::GetFC(double N, double Vel)
|
|||||||
// if Vel<20 then Vel:=20;
|
// if Vel<20 then Vel:=20;
|
||||||
// Vel:= Vel-20;
|
// Vel:= Vel-20;
|
||||||
// GetFC:=0.52*((1*Vel+100)/(5.0*Vel+100))*(13.08-0.083*N)/(12.94+0.285*N);
|
// GetFC:=0.52*((1*Vel+100)/(5.0*Vel+100))*(13.08-0.083*N)/(12.94+0.285*N);
|
||||||
// GetFC:=Min0R(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(13.08-0.083*N)/(12.94+0.285*N),0.4);
|
// GetFC:=std::min(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(13.08-0.083*N)/(12.94+0.285*N),0.4);
|
||||||
return exp(-0.022 * N) * (0.19 - 0.095 * exp(-Vel * 1.0 / 25.7)) +
|
return exp(-0.022 * N) * (0.19 - 0.095 * exp(-Vel * 1.0 / 25.7)) +
|
||||||
0.384 * exp(-Vel * 1.0 / 25.7) - 0.028;
|
0.384 * exp(-Vel * 1.0 / 25.7) - 0.028;
|
||||||
}
|
}
|
||||||
@@ -44,7 +44,7 @@ double TP10Bgu::GetFC(double N, double Vel)
|
|||||||
// Vel:= Vel-20;
|
// Vel:= Vel-20;
|
||||||
// GetFC:=0.52*((0.0*Vel+120)/(5*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N);
|
// GetFC:=0.52*((0.0*Vel+120)/(5*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N);
|
||||||
// GetFC:=0.49*100/(3*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N);
|
// GetFC:=0.49*100/(3*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N);
|
||||||
// GetFC:=Min0R(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(11.33-0.013*N)/(11.33+0.280*N),0.4);
|
// GetFC:=std::min(0.67*(1*(277-2.66*Vel)/(100+2.1*Vel)+0.23*(-686+8.27*Vel)/(100+1.16*Vel))*(11.33-0.013*N)/(11.33+0.280*N),0.4);
|
||||||
return exp(-0.017 * N) * (0.18 - 0.09 * exp(-Vel * 1.0 / 25.7)) +
|
return exp(-0.017 * N) * (0.18 - 0.09 * exp(-Vel * 1.0 / 25.7)) +
|
||||||
0.381 * exp(-Vel * 1.0 / 25.7) - 0.022; // 0.05*exp(-0.2*N);
|
0.381 * exp(-Vel * 1.0 / 25.7) - 0.022; // 0.05*exp(-0.2*N);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ double const TFVE408::pos_table[11] = {0, 10, 0, 0, 10, 7, 8, 9, 0, 1, 5};
|
|||||||
/// <returns>Dimensionless flow driver (positive when P2 > P1).</returns>
|
/// <returns>Dimensionless flow driver (positive when P2 > P1).</returns>
|
||||||
double PR(double P1, double P2)
|
double PR(double P1, double P2)
|
||||||
{
|
{
|
||||||
double PH = Max0R(P1, P2) + 0.1;
|
double PH = std::max(P1, P2) + 0.1;
|
||||||
double PL = P1 + P2 - PH + 0.2;
|
double PL = P1 + P2 - PH + 0.2;
|
||||||
return (P2 - P1) / (1.13 * PH - PL);
|
return (P2 - P1) / (1.13 * PH - PL);
|
||||||
}
|
}
|
||||||
@@ -59,7 +59,7 @@ double PR(double P1, double P2)
|
|||||||
/// <returns>Volumetric flow rate (signed).</returns>
|
/// <returns>Volumetric flow rate (signed).</returns>
|
||||||
double PF_old(double P1, double P2, double S)
|
double PF_old(double P1, double P2, double S)
|
||||||
{
|
{
|
||||||
double PH = Max0R(P1, P2) + 1;
|
double PH = std::max(P1, P2) + 1;
|
||||||
double PL = P1 + P2 - PH + 2;
|
double PL = P1 + P2 - PH + 2;
|
||||||
if (PH - PL < 0.0001)
|
if (PH - PL < 0.0001)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1229,19 +1229,19 @@ double TEStEP2::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
|
|
||||||
result = dv - dV1;
|
result = dv - dV1;
|
||||||
|
|
||||||
temp = Max0R(BCP, LBP);
|
temp = std::max(BCP, LBP);
|
||||||
|
|
||||||
if ((ImplsRes->P() > LBP + 0.01))
|
if ((ImplsRes->P() > LBP + 0.01))
|
||||||
LBP = 0;
|
LBP = 0;
|
||||||
|
|
||||||
// luzowanie CH
|
// luzowanie CH
|
||||||
if ((BrakeCyl->P() > temp + 0.005) || (Max0R(ImplsRes->P(), 8 * LBP) < 0.05))
|
if ((BrakeCyl->P() > temp + 0.005) || (std::max(ImplsRes->P(), 8 * LBP) < 0.05))
|
||||||
dv = PF(0, BrakeCyl->P(), 0.25 * SizeBC * (0.01 + (BrakeCyl->P() - temp))) * dt;
|
dv = PF(0, BrakeCyl->P(), 0.25 * SizeBC * (0.01 + (BrakeCyl->P() - temp))) * dt;
|
||||||
else
|
else
|
||||||
dv = 0;
|
dv = 0;
|
||||||
BrakeCyl->Flow(-dv);
|
BrakeCyl->Flow(-dv);
|
||||||
// przeplyw ZP <-> CH
|
// przeplyw ZP <-> CH
|
||||||
if ((BrakeCyl->P() < temp - 0.005) && (Max0R(ImplsRes->P(), 8 * LBP) > 0.10) && (Max0R(BCP, LBP) < MaxBP * LoadC))
|
if ((BrakeCyl->P() < temp - 0.005) && (std::max(ImplsRes->P(), 8 * LBP) > 0.10) && (std::max(BCP, LBP) < MaxBP * LoadC))
|
||||||
dv = PF(BVP, BrakeCyl->P(), 0.35 * SizeBC * (0.01 - (BrakeCyl->P() - temp))) * dt;
|
dv = PF(BVP, BrakeCyl->P(), 0.35 * SizeBC * (0.01 - (BrakeCyl->P() - temp))) * dt;
|
||||||
else
|
else
|
||||||
dv = 0;
|
dv = 0;
|
||||||
@@ -1313,7 +1313,7 @@ void TEStEP2::EPCalc(double dt)
|
|||||||
void TEStEP1::EPCalc(double dt)
|
void TEStEP1::EPCalc(double dt)
|
||||||
{
|
{
|
||||||
double temp = EPS - std::floor(EPS); // część ułamkowa jest hamulcem EP
|
double temp = EPS - std::floor(EPS); // część ułamkowa jest hamulcem EP
|
||||||
double LBPLim = Min0R(MaxBP * LoadC * temp, BrakeRes->P()); // do czego dążymy
|
double LBPLim = std::min(MaxBP * LoadC * temp, BrakeRes->P()); // do czego dążymy
|
||||||
double S = 10 * clamp(LBPLim - LBP, -0.1, 0.1); // przymykanie zaworku
|
double S = 10 * clamp(LBPLim - LBP, -0.1, 0.1); // przymykanie zaworku
|
||||||
double dv = PF((S > 0 ? BrakeRes->P() : 0), LBP, abs(S) * (0.00053 + 0.00060 * int(S < 0))) * dt; // przepływ
|
double dv = PF((S > 0 ? BrakeRes->P() : 0), LBP, abs(S) * (0.00053 + 0.00060 * int(S < 0))) * dt; // przepływ
|
||||||
LBP = LBP - dv;
|
LBP = LBP - dv;
|
||||||
@@ -1782,7 +1782,7 @@ double TLSt::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
if (((UniversalFlag & TUniversalBrake::ub_AntiSlipBrake) > 0) || ((BrakeStatus & b_asb_unbrake) == b_asb_unbrake))
|
if (((UniversalFlag & TUniversalBrake::ub_AntiSlipBrake) > 0) || ((BrakeStatus & b_asb_unbrake) == b_asb_unbrake))
|
||||||
tempasb = ASBP;
|
tempasb = ASBP;
|
||||||
// powtarzacz — podwojny zawor zwrotny
|
// powtarzacz — podwojny zawor zwrotny
|
||||||
temp = Max0R(((CVP - BCP) * BVM + tempasb) / temp, LBP);
|
temp = std::max(((CVP - BCP) * BVM + tempasb) / temp, LBP);
|
||||||
// luzowanie CH
|
// luzowanie CH
|
||||||
if ((BrakeCyl->P() > temp + 0.005) || (temp < 0.28))
|
if ((BrakeCyl->P() > temp + 0.005) || (temp < 0.28))
|
||||||
// dV:=PF(0,BrakeCyl->P(),0.0015*3*sizeBC)*dt
|
// dV:=PF(0,BrakeCyl->P(),0.0015*3*sizeBC)*dt
|
||||||
@@ -1881,7 +1881,7 @@ double TLSt::GetHPFlow(double const HP, double const dt)
|
|||||||
{
|
{
|
||||||
double dv;
|
double dv;
|
||||||
|
|
||||||
dv = Min0R(PF(HP, BrakeRes->P(), 0.01 * dt), 0);
|
dv = std::min(PF(HP, BrakeRes->P(), 0.01 * dt), 0.0);
|
||||||
BrakeRes->Flow(-dv);
|
BrakeRes->Flow(-dv);
|
||||||
return dv;
|
return dv;
|
||||||
}
|
}
|
||||||
@@ -1994,12 +1994,12 @@ double TEStED::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
Miedzypoj->Flow(dv * dt * 0.15);
|
Miedzypoj->Flow(dv * dt * 0.15);
|
||||||
|
|
||||||
RapidTemp = RapidTemp + (RM * int((Vel > RV) && (BrakeDelayFlag == bdelay_R)) - RapidTemp) * dt / 2;
|
RapidTemp = RapidTemp + (RM * int((Vel > RV) && (BrakeDelayFlag == bdelay_R)) - RapidTemp) * dt / 2;
|
||||||
temp = Max0R(1 - RapidTemp, 0.001);
|
temp = std::max(1 - RapidTemp, 0.001);
|
||||||
// if EDFlag then temp:=1000;
|
// if EDFlag then temp:=1000;
|
||||||
// temp:=temp/(1-);
|
// temp:=temp/(1-);
|
||||||
|
|
||||||
// powtarzacz — podwojny zawor zwrotny
|
// powtarzacz — podwojny zawor zwrotny
|
||||||
temp = Max0R(LoadC * BCP / temp * Min0R(Max0R(1 - EDFlag, 0), 1), LBP);
|
temp = std::max(LoadC * BCP / temp * std::min(std::max(1 - EDFlag, 0.), 1.), LBP);
|
||||||
|
|
||||||
if ((UniversalFlag & TUniversalBrake::ub_AntiSlipBrake) > 0)
|
if ((UniversalFlag & TUniversalBrake::ub_AntiSlipBrake) > 0)
|
||||||
temp = std::max(temp, ASBP);
|
temp = std::max(temp, ASBP);
|
||||||
@@ -2156,7 +2156,7 @@ void TCV1::CheckState(double const BCP, double &dV1)
|
|||||||
double CVP;
|
double CVP;
|
||||||
|
|
||||||
BVP = BrakeRes->P();
|
BVP = BrakeRes->P();
|
||||||
VVP = Min0R(ValveRes->P(), BVP + 0.05);
|
VVP = std::min(ValveRes->P(), BVP + 0.05);
|
||||||
CVP = CntrlRes->P();
|
CVP = CntrlRes->P();
|
||||||
|
|
||||||
// odluzniacz
|
// odluzniacz
|
||||||
@@ -2243,7 +2243,7 @@ double TCV1::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
double CVP;
|
double CVP;
|
||||||
|
|
||||||
BVP = BrakeRes->P();
|
BVP = BrakeRes->P();
|
||||||
VVP = Min0R(ValveRes->P(), BVP + 0.05);
|
VVP = std::min(ValveRes->P(), BVP + 0.05);
|
||||||
BCP = BrakeCyl->P();
|
BCP = BrakeCyl->P();
|
||||||
CVP = CntrlRes->P();
|
CVP = CntrlRes->P();
|
||||||
|
|
||||||
@@ -2360,7 +2360,7 @@ double TCV1L_TR::GetHPFlow(double const HP, double const dt)
|
|||||||
double dv;
|
double dv;
|
||||||
|
|
||||||
dv = PF(HP, BrakeRes->P(), 0.01) * dt;
|
dv = PF(HP, BrakeRes->P(), 0.01) * dt;
|
||||||
dv = Min0R(0, dv);
|
dv = std::min(0., dv);
|
||||||
BrakeRes->Flow(-dv);
|
BrakeRes->Flow(-dv);
|
||||||
return dv;
|
return dv;
|
||||||
}
|
}
|
||||||
@@ -2402,7 +2402,7 @@ double TCV1L_TR::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
double CVP;
|
double CVP;
|
||||||
|
|
||||||
BVP = BrakeRes->P();
|
BVP = BrakeRes->P();
|
||||||
VVP = Min0R(ValveRes->P(), BVP + 0.05);
|
VVP = std::min(ValveRes->P(), BVP + 0.05);
|
||||||
BCP = ImplsRes->P();
|
BCP = ImplsRes->P();
|
||||||
CVP = CntrlRes->P();
|
CVP = CntrlRes->P();
|
||||||
|
|
||||||
@@ -2447,17 +2447,17 @@ double TCV1L_TR::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
dv = PF(PP, VVP, 0.01) * dt;
|
dv = PF(PP, VVP, 0.01) * dt;
|
||||||
result = dv - dV1;
|
result = dv - dV1;
|
||||||
|
|
||||||
temp = Max0R(BCP, LBP);
|
temp = std::max(BCP, LBP);
|
||||||
|
|
||||||
// luzowanie CH
|
// luzowanie CH
|
||||||
if ((BrakeCyl->P() > temp + 0.005) || (Max0R(ImplsRes->P(), 8 * LBP) < 0.25))
|
if ((BrakeCyl->P() > temp + 0.005) || (std::max(ImplsRes->P(), 8 * LBP) < 0.25))
|
||||||
dv = PF(0, BrakeCyl->P(), 0.015 * SizeBC) * dt;
|
dv = PF(0, BrakeCyl->P(), 0.015 * SizeBC) * dt;
|
||||||
else
|
else
|
||||||
dv = 0;
|
dv = 0;
|
||||||
BrakeCyl->Flow(-dv);
|
BrakeCyl->Flow(-dv);
|
||||||
|
|
||||||
// przeplyw ZP <-> CH
|
// przeplyw ZP <-> CH
|
||||||
if ((BrakeCyl->P() < temp - 0.005) && (Max0R(ImplsRes->P(), 8 * LBP) > 0.3) && (Max0R(BCP, LBP) < MaxBP))
|
if ((BrakeCyl->P() < temp - 0.005) && (std::max(ImplsRes->P(), 8 * LBP) > 0.3) && (std::max(BCP, LBP) < MaxBP))
|
||||||
dv = PF(BVP, BrakeCyl->P(), 0.020 * SizeBC) * dt;
|
dv = PF(BVP, BrakeCyl->P(), 0.020 * SizeBC) * dt;
|
||||||
else
|
else
|
||||||
dv = 0;
|
dv = 0;
|
||||||
@@ -2710,17 +2710,17 @@ double TKE::GetPF(double const PP, double const dt, double const Vel)
|
|||||||
temp = 1;
|
temp = 1;
|
||||||
temp = temp / LoadC;
|
temp = temp / LoadC;
|
||||||
// luzowanie CH
|
// luzowanie CH
|
||||||
// temp:=Max0R(BCP,LBP);
|
// temp:=std::max(BCP,LBP);
|
||||||
IMP = Max0R(IMP / temp, Max0R(LBP, ASBP * int((BrakeStatus & b_asb) == b_asb)));
|
IMP = std::max(IMP / temp, std::max(LBP, ASBP * int((BrakeStatus & b_asb) == b_asb)));
|
||||||
if ((ASBP < 0.1) && ((BrakeStatus & b_asb) == b_asb))
|
if ((ASBP < 0.1) && ((BrakeStatus & b_asb) == b_asb))
|
||||||
IMP = 0;
|
IMP = 0;
|
||||||
// luzowanie CH
|
// luzowanie CH
|
||||||
if ((BCP > IMP + 0.005) || (Max0R(ImplsRes->P(), 8 * LBP) < 0.25))
|
if ((BCP > IMP + 0.005) || (std::max(ImplsRes->P(), 8 * LBP) < 0.25))
|
||||||
dv = PFVd(BCP, 0, 0.05, IMP) * dt;
|
dv = PFVd(BCP, 0, 0.05, IMP) * dt;
|
||||||
else
|
else
|
||||||
dv = 0;
|
dv = 0;
|
||||||
BrakeCyl->Flow(-dv);
|
BrakeCyl->Flow(-dv);
|
||||||
if ((BCP < IMP - 0.005) && (Max0R(ImplsRes->P(), 8 * LBP) > 0.3))
|
if ((BCP < IMP - 0.005) && (std::max(ImplsRes->P(), 8 * LBP) > 0.3))
|
||||||
dv = PFVa(BVP, BCP, 0.05, IMP) * dt;
|
dv = PFVa(BVP, BCP, 0.05, IMP) * dt;
|
||||||
else
|
else
|
||||||
dv = 0;
|
dv = 0;
|
||||||
@@ -2797,7 +2797,7 @@ double TKE::GetHPFlow(double const HP, double const dt)
|
|||||||
double dv;
|
double dv;
|
||||||
|
|
||||||
dv = PF(HP, BrakeRes->P(), 0.01) * dt;
|
dv = PF(HP, BrakeRes->P(), 0.01) * dt;
|
||||||
dv = Min0R(0, dv);
|
dv = std::min(0., dv);
|
||||||
BrakeRes->Flow(-dv);
|
BrakeRes->Flow(-dv);
|
||||||
return dv;
|
return dv;
|
||||||
}
|
}
|
||||||
@@ -2975,7 +2975,7 @@ double TFV4a::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
// if(cp+0.03<5.4)then
|
// if(cp+0.03<5.4)then
|
||||||
if ((RP + 0.03 < 5.4) || (CP + 0.03 < 5.4)) // fala
|
if ((RP + 0.03 < 5.4) || (CP + 0.03 < 5.4)) // fala
|
||||||
dpMainValve = PF(std::min(HP, 17.1), PP, ActFlowSpeed / LBDelay) * dt;
|
dpMainValve = PF(std::min(HP, 17.1), PP, ActFlowSpeed / LBDelay) * dt;
|
||||||
// dpMainValve:=20*Min0R(abs(ep-7.1),0.05)*PF(HP,pp,ActFlowSpeed/LBDelay)*dt;
|
// dpMainValve:=20*std::min(abs(ep-7.1),0.05)*PF(HP,pp,ActFlowSpeed/LBDelay)*dt;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RP = 5.45;
|
RP = 5.45;
|
||||||
@@ -3286,7 +3286,7 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep
|
|||||||
|
|
||||||
DP = 0;
|
DP = 0;
|
||||||
|
|
||||||
i_bcp = Max0R(Min0R(i_bcp, 9.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres
|
i_bcp = std::max(std::min(i_bcp, 9.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres
|
||||||
|
|
||||||
if ((TP > 0) && (CP > 4.9))
|
if ((TP > 0) && (CP > 4.9))
|
||||||
{
|
{
|
||||||
@@ -3300,7 +3300,7 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep
|
|||||||
TP = 0;
|
TP = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LimPP = Min0R(LPP_RP(i_bcp) + TP * 0.08 + RedAdj, HP); // pozycja + czasowy lub zasilanie
|
LimPP = std::min(LPP_RP(i_bcp) + TP * 0.08 + RedAdj, HP); // pozycja + czasowy lub zasilanie
|
||||||
ActFlowSpeed = 4;
|
ActFlowSpeed = 4;
|
||||||
|
|
||||||
double uop = UnbrakeOverPressure; // unbrake over pressure in actual state
|
double uop = UnbrakeOverPressure; // unbrake over pressure in actual state
|
||||||
@@ -3309,20 +3309,20 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep
|
|||||||
uop = 0;
|
uop = 0;
|
||||||
|
|
||||||
if ((EQ(i_bcp, -1)) && (uop > 0))
|
if ((EQ(i_bcp, -1)) && (uop > 0))
|
||||||
pom = Min0R(HP, 5.4 + RedAdj + uop);
|
pom = std::min(HP, 5.4 + RedAdj + uop);
|
||||||
else
|
else
|
||||||
pom = Min0R(CP, HP);
|
pom = std::min(CP, HP);
|
||||||
|
|
||||||
if ((LimPP > CP)) // podwyzszanie szybkie
|
if ((LimPP > CP)) // podwyzszanie szybkie
|
||||||
CP = CP + 60 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy;
|
CP = CP + 60 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy;
|
||||||
else
|
else
|
||||||
CP = CP + 13 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
CP = CP + 13 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
||||||
|
|
||||||
LimPP = pom; // cp
|
LimPP = pom; // cp
|
||||||
// if (EQ(i_bcp, -1))
|
// if (EQ(i_bcp, -1))
|
||||||
// dpPipe = HP;
|
// dpPipe = HP;
|
||||||
// else
|
// else
|
||||||
dpPipe = Min0R(HP, LimPP);
|
dpPipe = std::min(HP, LimPP);
|
||||||
|
|
||||||
if (dpPipe > PP)
|
if (dpPipe > PP)
|
||||||
dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, dpPipe, 0.4);
|
dpMainValve = -PFVa(HP, PP, ActFlowSpeed / LBDelay, dpPipe, 0.4);
|
||||||
@@ -3355,9 +3355,9 @@ double TMHZ_EN57::GetPF(double i_bcp, double PP, double HP, double dt, double ep
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((i_bcp < 1.5))
|
if ((i_bcp < 1.5))
|
||||||
RP = Max0R(0, 0.125 * i_bcp);
|
RP = std::max(0., 0.125 * i_bcp);
|
||||||
else
|
else
|
||||||
RP = Min0R(1, 0.125 * i_bcp - 0.125);
|
RP = std::min(1., 0.125 * i_bcp - 0.125);
|
||||||
|
|
||||||
return dpMainValve * dt;
|
return dpMainValve * dt;
|
||||||
}
|
}
|
||||||
@@ -3413,7 +3413,7 @@ double TMHZ_EN57::GetRP()
|
|||||||
double TMHZ_EN57::GetEP(double pos)
|
double TMHZ_EN57::GetEP(double pos)
|
||||||
{
|
{
|
||||||
if (pos < 9.5)
|
if (pos < 9.5)
|
||||||
return Min0R(Max0R(0, 0.125 * pos), 1);
|
return std::max(std::max(0., 0.125 * pos), 1.);
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -3493,7 +3493,7 @@ double TMHZ_K5P::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
|
|
||||||
DP = 0;
|
DP = 0;
|
||||||
|
|
||||||
i_bcp = Max0R(Min0R(i_bcp, 2.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres
|
i_bcp = std::max(std::min(i_bcp, 2.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres
|
||||||
|
|
||||||
if ((TP > 0) && (CP > 4.9))
|
if ((TP > 0) && (CP > 4.9))
|
||||||
{
|
{
|
||||||
@@ -3513,20 +3513,20 @@ double TMHZ_K5P::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
else // luzowanie
|
else // luzowanie
|
||||||
LimCP = 5.0;
|
LimCP = 5.0;
|
||||||
pom = CP;
|
pom = CP;
|
||||||
LimCP = Min0R(LimCP, HP); // pozycja + czasowy lub zasilanie
|
LimCP = std::min(LimCP, HP); // pozycja + czasowy lub zasilanie
|
||||||
ActFlowSpeed = 4;
|
ActFlowSpeed = 4;
|
||||||
|
|
||||||
if ((LimCP > CP)) // podwyzszanie szybkie
|
if ((LimCP > CP)) // podwyzszanie szybkie
|
||||||
CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy;
|
CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy;
|
||||||
else
|
else
|
||||||
CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy
|
CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy
|
||||||
|
|
||||||
double uop = UnbrakeOverPressure; // unbrake over pressure in actual state
|
double uop = UnbrakeOverPressure; // unbrake over pressure in actual state
|
||||||
ManualOvrldActive = (UniversalFlag & TUniversalBrake::ub_HighPressure); // button is pressed
|
ManualOvrldActive = (UniversalFlag & TUniversalBrake::ub_HighPressure); // button is pressed
|
||||||
if (ManualOvrld && !ManualOvrldActive) // no overpressure for not pressed button if it does not exists
|
if (ManualOvrld && !ManualOvrldActive) // no overpressure for not pressed button if it does not exists
|
||||||
uop = 0;
|
uop = 0;
|
||||||
|
|
||||||
dpPipe = Min0R(HP, CP + TP + RedAdj);
|
dpPipe = std::min(HP, CP + TP + RedAdj);
|
||||||
|
|
||||||
if (EQ(i_bcp, -1))
|
if (EQ(i_bcp, -1))
|
||||||
{
|
{
|
||||||
@@ -3676,7 +3676,7 @@ double TMHZ_6P::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
|
|
||||||
DP = 0;
|
DP = 0;
|
||||||
|
|
||||||
i_bcp = Max0R(Min0R(i_bcp, 3.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres
|
i_bcp = std::max(std::min(i_bcp, 3.999), -0.999); // na wszelki wypadek, zeby nie wyszlo poza zakres
|
||||||
|
|
||||||
if ((TP > 0) && (CP > 4.9))
|
if ((TP > 0) && (CP > 4.9))
|
||||||
{
|
{
|
||||||
@@ -3696,15 +3696,15 @@ double TMHZ_6P::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
else // luzowanie
|
else // luzowanie
|
||||||
LimCP = 5.0;
|
LimCP = 5.0;
|
||||||
pom = CP;
|
pom = CP;
|
||||||
LimCP = Min0R(LimCP, HP); // pozycja + czasowy lub zasilanie
|
LimCP = std::min(LimCP, HP); // pozycja + czasowy lub zasilanie
|
||||||
ActFlowSpeed = 4;
|
ActFlowSpeed = 4;
|
||||||
|
|
||||||
if ((LimCP > CP)) // podwyzszanie szybkie
|
if ((LimCP > CP)) // podwyzszanie szybkie
|
||||||
CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy;
|
CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy;
|
||||||
else
|
else
|
||||||
CP = CP + 9 * Min0R(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy
|
CP = CP + 9 * std::min(abs(LimCP - CP), 0.05) * PR(CP, LimCP) * dt; // zbiornik sterujacy
|
||||||
|
|
||||||
dpPipe = Min0R(HP, CP + TP + RedAdj);
|
dpPipe = std::min(HP, CP + TP + RedAdj);
|
||||||
|
|
||||||
double uop = UnbrakeOverPressure; // unbrake over pressure in actual state
|
double uop = UnbrakeOverPressure; // unbrake over pressure in actual state
|
||||||
ManualOvrldActive = (UniversalFlag & TUniversalBrake::ub_HighPressure); // button is pressed
|
ManualOvrldActive = (UniversalFlag & TUniversalBrake::ub_HighPressure); // button is pressed
|
||||||
@@ -3856,7 +3856,7 @@ double TM394::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
if (BCP < -1)
|
if (BCP < -1)
|
||||||
BCP = 1;
|
BCP = 1;
|
||||||
|
|
||||||
LimPP = Min0R(BPT_394[BCP + 1][1], HP);
|
LimPP = std::min(BPT_394[BCP + 1][1], HP);
|
||||||
ActFlowSpeed = BPT_394[BCP + 1][0];
|
ActFlowSpeed = BPT_394[BCP + 1][0];
|
||||||
if ((BCP == 1) || (BCP == i_bcpno))
|
if ((BCP == 1) || (BCP == i_bcpno))
|
||||||
LimPP = PP;
|
LimPP = PP;
|
||||||
@@ -3864,16 +3864,16 @@ double TM394::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
LimPP = LimPP + RedAdj;
|
LimPP = LimPP + RedAdj;
|
||||||
if ((BCP != 2))
|
if ((BCP != 2))
|
||||||
if (CP < LimPP)
|
if (CP < LimPP)
|
||||||
CP = CP + 4 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
CP = CP + 4 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
||||||
// cp:=cp+6*(2+int(bcp<0))*Min0R(abs(Limpp-cp),0.05)*PR(cp,Limpp)*dt //zbiornik
|
// cp:=cp+6*(2+int(bcp<0))*std::min(abs(Limpp-cp),0.05)*PR(cp,Limpp)*dt //zbiornik
|
||||||
// sterujacy;
|
// sterujacy;
|
||||||
else if (BCP == 0)
|
else if (BCP == 0)
|
||||||
CP = CP - 0.2 * dt / 100;
|
CP = CP - 0.2 * dt / 100;
|
||||||
else
|
else
|
||||||
CP = CP + 4 * (1 + int(BCP != 3) + int(BCP > 4)) * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
CP = CP + 4 * (1 + int(BCP != 3) + int(BCP > 4)) * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
||||||
|
|
||||||
LimPP = CP;
|
LimPP = CP;
|
||||||
dpPipe = Min0R(HP, LimPP);
|
dpPipe = std::min(HP, LimPP);
|
||||||
|
|
||||||
// if(dpPipe>pp)then //napelnianie
|
// if(dpPipe>pp)then //napelnianie
|
||||||
// dpMainValve:=PF(dpPipe,pp,ActFlowSpeed/LBDelay)*dt
|
// dpMainValve:=PF(dpPipe,pp,ActFlowSpeed/LBDelay)*dt
|
||||||
@@ -4060,7 +4060,7 @@ double TSt113::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
LimPP = CP;
|
LimPP = CP;
|
||||||
ActFlowSpeed = BPT_K[BCP + 1][0];
|
ActFlowSpeed = BPT_K[BCP + 1][0];
|
||||||
|
|
||||||
CP = CP + 6 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
CP = CP + 6 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt; // zbiornik sterujacy
|
||||||
|
|
||||||
dpMainValve = 0;
|
dpMainValve = 0;
|
||||||
|
|
||||||
@@ -4140,10 +4140,10 @@ double Ttest::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
if ((i_bcp == -1))
|
if ((i_bcp == -1))
|
||||||
LimPP = 7;
|
LimPP = 7;
|
||||||
|
|
||||||
CP = CP + 20 * Min0R(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt / 1;
|
CP = CP + 20 * std::min(abs(LimPP - CP), 0.05) * PR(CP, LimPP) * dt / 1;
|
||||||
|
|
||||||
LimPP = CP;
|
LimPP = CP;
|
||||||
dpPipe = Min0R(HP, LimPP);
|
dpPipe = std::min(HP, LimPP);
|
||||||
|
|
||||||
dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
|
dpMainValve = PF(dpPipe, PP, ActFlowSpeed / LBDelay) * dt;
|
||||||
|
|
||||||
@@ -4181,7 +4181,7 @@ double TFD1::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
double temp;
|
double temp;
|
||||||
|
|
||||||
// MaxBP:=4;
|
// MaxBP:=4;
|
||||||
// temp:=Min0R(i_bcp*MaxBP,Min0R(5.0,HP));
|
// temp:=std::min(i_bcp*MaxBP,std::min(5.0,HP));
|
||||||
temp = std::min(i_bcp * MaxBP, HP); // 0011
|
temp = std::min(i_bcp * MaxBP, HP); // 0011
|
||||||
DP = 10.0 * std::min(std::abs(temp - BP), 0.1) * PF(temp, BP, 0.0006 * (temp > BP ? 3.0 : 2.0)) * dt * Speed;
|
DP = 10.0 * std::min(std::abs(temp - BP), 0.1) * PF(temp, BP, 0.0006 * (temp > BP ? 3.0 : 2.0)) * dt * Speed;
|
||||||
BP = BP - DP;
|
BP = BP - DP;
|
||||||
@@ -4229,18 +4229,18 @@ double TH1405::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
double temp;
|
double temp;
|
||||||
double A;
|
double A;
|
||||||
|
|
||||||
PP = Min0R(PP, MaxBP);
|
PP = std::min(PP, MaxBP);
|
||||||
if (i_bcp > 0.5)
|
if (i_bcp > 0.5)
|
||||||
{
|
{
|
||||||
temp = Min0R(MaxBP, HP);
|
temp = std::min(MaxBP, HP);
|
||||||
A = 2 * (i_bcp - 0.5) * 0.0011;
|
A = 2 * (i_bcp - 0.5) * 0.0011;
|
||||||
BP = Max0R(BP, PP);
|
BP = std::max(BP, PP);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
temp = 0;
|
temp = 0;
|
||||||
A = 0.2 * (0.5 - i_bcp) * 0.0033;
|
A = 0.2 * (0.5 - i_bcp) * 0.0033;
|
||||||
BP = Min0R(BP, PP);
|
BP = std::min(BP, PP);
|
||||||
}
|
}
|
||||||
DP = PF(temp, BP, A) * dt;
|
DP = PF(temp, BP, A) * dt;
|
||||||
BP = BP - DP;
|
BP = BP - DP;
|
||||||
@@ -4285,7 +4285,7 @@ double TFVel6::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
|
|
||||||
CP = PP;
|
CP = PP;
|
||||||
|
|
||||||
LimPP = Min0R(5 * int(i_bcp < 3.5), HP);
|
LimPP = std::min(5. * int(i_bcp < 3.5), HP);
|
||||||
if ((i_bcp >= 3.5) && ((i_bcp < 4.3) || (i_bcp > 5.5)))
|
if ((i_bcp >= 3.5) && ((i_bcp < 4.3) || (i_bcp > 5.5)))
|
||||||
ActFlowSpeed = 0;
|
ActFlowSpeed = 0;
|
||||||
else if ((i_bcp > 4.3) && (i_bcp < 4.8))
|
else if ((i_bcp > 4.3) && (i_bcp < 4.8))
|
||||||
@@ -4382,7 +4382,7 @@ double TFVE408::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
|
|||||||
|
|
||||||
CP = PP;
|
CP = PP;
|
||||||
|
|
||||||
LimPP = Min0R(5 * int(i_bcp < 6.5), HP);
|
LimPP = std::min(5. * int(i_bcp < 6.5), HP);
|
||||||
if ((i_bcp >= 6.5) && ((i_bcp < 7.5) || (i_bcp > 9.5)))
|
if ((i_bcp >= 6.5) && ((i_bcp < 7.5) || (i_bcp > 9.5)))
|
||||||
ActFlowSpeed = 0;
|
ActFlowSpeed = 0;
|
||||||
else if ((i_bcp > 7.5) && (i_bcp < 8.5))
|
else if ((i_bcp > 7.5) && (i_bcp < 8.5))
|
||||||
|
|||||||
@@ -35,22 +35,6 @@ bool EditorModeFlag = false;
|
|||||||
bool DebugCameraFlag = false;
|
bool DebugCameraFlag = false;
|
||||||
bool DebugTractionFlag = false;
|
bool DebugTractionFlag = false;
|
||||||
|
|
||||||
double Max0R(double x1, double x2)
|
|
||||||
{
|
|
||||||
if (x1 > x2)
|
|
||||||
return x1;
|
|
||||||
else
|
|
||||||
return x2;
|
|
||||||
}
|
|
||||||
|
|
||||||
double Min0R(double x1, double x2)
|
|
||||||
{
|
|
||||||
if (x1 < x2)
|
|
||||||
return x1;
|
|
||||||
else
|
|
||||||
return x2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// shitty replacement for Borland timestamp function
|
// shitty replacement for Borland timestamp function
|
||||||
// TODO: replace with something sensible
|
// TODO: replace with something sensible
|
||||||
std::string Now()
|
std::string Now()
|
||||||
|
|||||||
@@ -53,9 +53,6 @@ extern bool DebugCameraFlag;
|
|||||||
extern bool DebugTractionFlag;
|
extern bool DebugTractionFlag;
|
||||||
|
|
||||||
/*funkcje matematyczne*/
|
/*funkcje matematyczne*/
|
||||||
double Max0R(double x1, double x2);
|
|
||||||
double Min0R(double x1, double x2);
|
|
||||||
|
|
||||||
inline double Sign(double x)
|
inline double Sign(double x)
|
||||||
{
|
{
|
||||||
return x >= 0 ? 1.0 : -1.0;
|
return x >= 0 ? 1.0 : -1.0;
|
||||||
|
|||||||
@@ -3165,7 +3165,7 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
// ts.R=ComputeRadius(Axle1.pPosition,Axle2.pPosition,Axle3.pPosition,Axle0.pPosition);
|
// ts.R=ComputeRadius(Axle1.pPosition,Axle2.pPosition,Axle3.pPosition,Axle0.pPosition);
|
||||||
// Ra: składową pochylenia wzdłużnego mamy policzoną w jednostkowym wektorze
|
// Ra: składową pochylenia wzdłużnego mamy policzoną w jednostkowym wektorze
|
||||||
// vFront
|
// vFront
|
||||||
ts.Len = 1.0; // Max0R(MoverParameters->BDist,MoverParameters->ADist);
|
ts.Len = 1.0; // std::max(MoverParameters->BDist,MoverParameters->ADist);
|
||||||
ts.dHtrack = -vFront.y; // Axle1.pPosition.y-Axle0.pPosition.y; //wektor
|
ts.dHtrack = -vFront.y; // Axle1.pPosition.y-Axle0.pPosition.y; //wektor
|
||||||
// między skrajnymi osiami
|
// między skrajnymi osiami
|
||||||
// (!!!odwrotny)
|
// (!!!odwrotny)
|
||||||
@@ -3278,12 +3278,12 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
MoverParameters->CheckEIMIC(dt1);
|
MoverParameters->CheckEIMIC(dt1);
|
||||||
MoverParameters->CheckSpeedCtrl(dt1);
|
MoverParameters->CheckSpeedCtrl(dt1);
|
||||||
|
|
||||||
auto eimic = Min0R(MoverParameters->eimic, MoverParameters->eimicSpeedCtrl);
|
auto eimic = std::min(MoverParameters->eimic, MoverParameters->eimicSpeedCtrl);
|
||||||
MoverParameters->eimic_real = eimic;
|
MoverParameters->eimic_real = eimic;
|
||||||
if (MoverParameters->EIMCtrlType == 2 && MoverParameters->MainCtrlPos == 0)
|
if (MoverParameters->EIMCtrlType == 2 && MoverParameters->MainCtrlPos == 0)
|
||||||
eimic = -1.0;
|
eimic = -1.0;
|
||||||
MoverParameters->SendCtrlToNext("EIMIC", Max0R(0, eimic), MoverParameters->CabActive);
|
MoverParameters->SendCtrlToNext("EIMIC", std::max(0., eimic), MoverParameters->CabActive);
|
||||||
auto LBR = Max0R(-eimic, 0);
|
auto LBR = std::max(-eimic, 0.);
|
||||||
auto eim_lb = (Mechanik->AIControllFlag || !MoverParameters->LocHandleTimeTraxx ? 0 : MoverParameters->eim_localbrake);
|
auto eim_lb = (Mechanik->AIControllFlag || !MoverParameters->LocHandleTimeTraxx ? 0 : MoverParameters->eim_localbrake);
|
||||||
|
|
||||||
// 1. ustal wymagana sile hamowania calego pociagu
|
// 1. ustal wymagana sile hamowania calego pociagu
|
||||||
@@ -3484,17 +3484,17 @@ bool TDynamicObject::Update(double dt, double dt1)
|
|||||||
if ((FzEP[i] > 0.01) &&
|
if ((FzEP[i] > 0.01) &&
|
||||||
(FzEP[i] >
|
(FzEP[i] >
|
||||||
p->MoverParameters->TotalMass * p->MoverParameters->eimc[eimc_p_eped] +
|
p->MoverParameters->TotalMass * p->MoverParameters->eimc[eimc_p_eped] +
|
||||||
Min0R(p->MoverParameters->eimv[eimv_Fmax], 0) * 1000) &&
|
std::min(p->MoverParameters->eimv[eimv_Fmax], 0.) * 1000) &&
|
||||||
(!PrzekrF[i]))
|
(!PrzekrF[i]))
|
||||||
{
|
{
|
||||||
float przek1 = -Min0R(p->MoverParameters->eimv[eimv_Fmax], 0) * 1000 +
|
float przek1 = -std::min(p->MoverParameters->eimv[eimv_Fmax], 0.) * 1000 +
|
||||||
FzEP[i] -
|
FzEP[i] -
|
||||||
p->MoverParameters->TotalMass *
|
p->MoverParameters->TotalMass *
|
||||||
p->MoverParameters->eimc[eimc_p_eped] * 0.999;
|
p->MoverParameters->eimc[eimc_p_eped] * 0.999;
|
||||||
PrzekrF[i] = true;
|
PrzekrF[i] = true;
|
||||||
test = true;
|
test = true;
|
||||||
nPrzekrF++;
|
nPrzekrF++;
|
||||||
przek1 = Min0R(przek1, FzEP[i]);
|
przek1 = std::min(przek1, FzEP[i]);
|
||||||
FzEP[i] -= przek1;
|
FzEP[i] -= przek1;
|
||||||
if (FzEP[i] < 0)
|
if (FzEP[i] < 0)
|
||||||
FzEP[i] = 0;
|
FzEP[i] = 0;
|
||||||
@@ -4354,7 +4354,7 @@ bool TDynamicObject::FastUpdate(double dt)
|
|||||||
modelRot.z };
|
modelRot.z };
|
||||||
// McZapkie: parametry powinny byc pobierane z toru
|
// McZapkie: parametry powinny byc pobierane z toru
|
||||||
// ts.R=MyTrack->fRadius;
|
// ts.R=MyTrack->fRadius;
|
||||||
// ts.Len= Max0R(MoverParameters->BDist,MoverParameters->ADist);
|
// ts.Len= std::max(MoverParameters->BDist,MoverParameters->ADist);
|
||||||
// ts.dHtrack=Axle1.pPosition.y-Axle0.pPosition.y;
|
// ts.dHtrack=Axle1.pPosition.y-Axle0.pPosition.y;
|
||||||
// ts.dHrail=((Axle1.GetRoll())+(Axle0.GetRoll()))*0.5f;
|
// ts.dHrail=((Axle1.GetRoll())+(Axle0.GetRoll()))*0.5f;
|
||||||
// tp.Width=MyTrack->fTrackWidth;
|
// tp.Width=MyTrack->fTrackWidth;
|
||||||
|
|||||||
@@ -7408,11 +7408,11 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
if ((in < 8) && (p->MoverParameters->eimc[eimc_p_Pmax] > 1))
|
if ((in < 8) && (p->MoverParameters->eimc[eimc_p_Pmax] > 1))
|
||||||
{
|
{
|
||||||
fEIMParams[1 + in][0] = p->MoverParameters->eimv[eimv_Fmax];
|
fEIMParams[1 + in][0] = p->MoverParameters->eimv[eimv_Fmax];
|
||||||
fEIMParams[1 + in][1] = Max0R(fEIMParams[1 + in][0], 0);
|
fEIMParams[1 + in][1] = std::max(fEIMParams[1 + in][0], 0.f);
|
||||||
fEIMParams[1 + in][2] = -Min0R(fEIMParams[1 + in][0], 0);
|
fEIMParams[1 + in][2] = -std::min(fEIMParams[1 + in][0], 0.f);
|
||||||
fEIMParams[1 + in][3] = p->MoverParameters->eimv[eimv_Fmax] / Max0R(p->MoverParameters->eimv[eimv_Fful], 1);
|
fEIMParams[1 + in][3] = p->MoverParameters->eimv[eimv_Fmax] / std::max(p->MoverParameters->eimv[eimv_Fful], 1.);
|
||||||
fEIMParams[1 + in][4] = Max0R(fEIMParams[1 + in][3], 0);
|
fEIMParams[1 + in][4] = std::max(fEIMParams[1 + in][3], 0.f);
|
||||||
fEIMParams[1 + in][5] = -Min0R(fEIMParams[1 + in][3], 0);
|
fEIMParams[1 + in][5] = -std::min(fEIMParams[1 + in][3], 0.f);
|
||||||
fEIMParams[1 + in][6] = p->MoverParameters->eimv[eimv_If];
|
fEIMParams[1 + in][6] = p->MoverParameters->eimv[eimv_If];
|
||||||
fEIMParams[1 + in][7] = p->MoverParameters->eimv[eimv_U];
|
fEIMParams[1 + in][7] = p->MoverParameters->eimv[eimv_U];
|
||||||
fEIMParams[1 + in][8] = p->MoverParameters->Itot;//p->MoverParameters->eimv[eimv_Ipoj];
|
fEIMParams[1 + in][8] = p->MoverParameters->Itot;//p->MoverParameters->eimv[eimv_Ipoj];
|
||||||
@@ -7488,8 +7488,8 @@ bool TTrain::Update( double const Deltatime )
|
|||||||
// fEIMParams[0][3] =
|
// fEIMParams[0][3] =
|
||||||
// mvControlled->eimv[eimv_Fzad] - mvOccupied->LocalBrakeRatio(); // procent zadany
|
// mvControlled->eimv[eimv_Fzad] - mvOccupied->LocalBrakeRatio(); // procent zadany
|
||||||
fEIMParams[0][3] = mvOccupied->eimic_real;
|
fEIMParams[0][3] = mvOccupied->eimic_real;
|
||||||
fEIMParams[0][4] = Max0R(fEIMParams[0][3], 0);
|
fEIMParams[0][4] = std::max(fEIMParams[0][3], 0.f);
|
||||||
fEIMParams[0][5] = -Min0R(fEIMParams[0][3], 0);
|
fEIMParams[0][5] = -std::min(fEIMParams[0][3], 0.f);
|
||||||
fEIMParams[0][1] = fEIMParams[0][4] * mvControlled->eimv[eimv_Fful];
|
fEIMParams[0][1] = fEIMParams[0][4] * mvControlled->eimv[eimv_Fful];
|
||||||
fEIMParams[0][2] = fEIMParams[0][5] * mvControlled->eimv[eimv_Fful];
|
fEIMParams[0][2] = fEIMParams[0][5] * mvControlled->eimv[eimv_Fful];
|
||||||
fEIMParams[0][0] = fEIMParams[0][1] - fEIMParams[0][2];
|
fEIMParams[0][0] = fEIMParams[0][1] - fEIMParams[0][2];
|
||||||
@@ -8674,7 +8674,7 @@ TTrain::update_sounds( double const Deltatime ) {
|
|||||||
}
|
}
|
||||||
// napelnianie PG
|
// napelnianie PG
|
||||||
if( rsHissU ) {
|
if( rsHissU ) {
|
||||||
fNPress = ( 4.0f * fNPress + Min0R( 0.0, mvOccupied->dpMainValve ) ) / ( 4.0f + 1.0f );
|
fNPress = ( 4.0f * fNPress + std::min( 0.0, mvOccupied->dpMainValve ) ) / ( 4.0f + 1.0f );
|
||||||
volume = (
|
volume = (
|
||||||
fNPress < 0.0f ?
|
fNPress < 0.0f ?
|
||||||
-1.0 * rsHissU->m_amplitudefactor * fNPress + rsHissU->m_amplitudeoffset :
|
-1.0 * rsHissU->m_amplitudefactor * fNPress + rsHissU->m_amplitudeoffset :
|
||||||
|
|||||||
Reference in New Issue
Block a user