mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
904 lines
24 KiB
C++
904 lines
24 KiB
C++
// Borland C++ Builder
|
|
// Copyright (c) 1995, 1999 by Borland International
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) '_mover.pas' rev: 5.00
|
|
|
|
#ifndef _moverHPP
|
|
#define _moverHPP
|
|
|
|
#pragma delphiheader begin
|
|
#pragma option push -w-
|
|
#pragma option push -Vx
|
|
#include <Oerlikon_ESt.h> // Pascal unit
|
|
#include <hamulce.h> // Pascal unit
|
|
#include <SysUtils.hpp> // Pascal unit
|
|
#include <mctools.hpp> // Pascal unit
|
|
#include <SysInit.hpp> // Pascal unit
|
|
#include <System.hpp> // Pascal unit
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace _mover
|
|
{
|
|
//-- type declarations -------------------------------------------------------
|
|
struct TLocation
|
|
{
|
|
double X;
|
|
double Y;
|
|
double Z;
|
|
} ;
|
|
|
|
struct TRotation
|
|
{
|
|
double Rx;
|
|
double Ry;
|
|
double Rz;
|
|
} ;
|
|
|
|
struct TDimension
|
|
{
|
|
double W;
|
|
double L;
|
|
double H;
|
|
} ;
|
|
|
|
struct TCommand
|
|
{
|
|
AnsiString Command;
|
|
double Value1;
|
|
double Value2;
|
|
TLocation Location;
|
|
} ;
|
|
|
|
struct TTrackShape
|
|
{
|
|
double R;
|
|
double Len;
|
|
double dHtrack;
|
|
double dHrail;
|
|
} ;
|
|
|
|
struct TTrackParam
|
|
{
|
|
double Width;
|
|
double friction;
|
|
Byte CategoryFlag;
|
|
Byte QualityFlag;
|
|
Byte DamageFlag;
|
|
double Velmax;
|
|
} ;
|
|
|
|
struct TTractionParam
|
|
{
|
|
double TractionVoltage;
|
|
double TractionFreq;
|
|
double TractionMaxCurrent;
|
|
double TractionResistivity;
|
|
} ;
|
|
|
|
#pragma option push -b-
|
|
enum TBrakeSystem { Individual, Pneumatic, ElectroPneumatic };
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TBrakeSubSystem { ss_None, ss_W, ss_K, ss_KK, ss_Hik, ss_ESt, ss_KE, ss_LSt, ss_MT, ss_Dako };
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TBrakeValve { NoValve, W, W_Lu_VI, W_Lu_L, W_Lu_XR, K, Kg, Kp, Kss, Kkg, Kkp, Kks, Hikg1, Hikss,
|
|
Hikp1, KE, SW, EStED, NESt3, ESt3, LSt, ESt4, ESt3AL2, EP1, EP2, M483, CV1_L_TR, CV1, CV1_R, Other
|
|
};
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TBrakeHandle { NoHandle, West, FV4a, M394, M254, FVel1, FVel6, D2, Knorr, FD1, BS2, testH, St113,
|
|
MHZ_P, MHZ_T, MHZ_EN57 };
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TLocalBrake { NoBrake, ManualBrake, PneumaticBrake, HydraulicBrake };
|
|
#pragma option pop
|
|
|
|
typedef double TBrakeDelayTable[4];
|
|
|
|
struct TBrakePressure
|
|
{
|
|
double PipePressureVal;
|
|
double BrakePressureVal;
|
|
double FlowSpeedVal;
|
|
TBrakeSystem BrakeType;
|
|
} ;
|
|
|
|
typedef TBrakePressure TBrakePressureTable[13];
|
|
|
|
#pragma option push -b-
|
|
enum TEngineTypes { None, Dumb, WheelsDriven, ElectricSeriesMotor, ElectricInductionMotor, DieselEngine,
|
|
SteamEngine, DieselElectric };
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TPowerType { NoPower, BioPower, MechPower, ElectricPower, SteamPower };
|
|
#pragma option pop
|
|
|
|
#pragma option push -b-
|
|
enum TFuelType { Undefined, Coal, Oil };
|
|
#pragma option pop
|
|
|
|
struct TGrateType
|
|
{
|
|
TFuelType FuelType;
|
|
double GrateSurface;
|
|
double FuelTransportSpeed;
|
|
double IgnitionTemperature;
|
|
double MaxTemperature;
|
|
} ;
|
|
|
|
struct TBoilerType
|
|
{
|
|
double BoilerVolume;
|
|
double BoilerHeatSurface;
|
|
double SuperHeaterSurface;
|
|
double MaxWaterVolume;
|
|
double MinWaterVolume;
|
|
double MaxPressure;
|
|
} ;
|
|
|
|
struct TCurrentCollector
|
|
{
|
|
int CollectorsNo;
|
|
double MinH;
|
|
double MaxH;
|
|
double CSW;
|
|
double MinV;
|
|
double MaxV;
|
|
double OVP;
|
|
double InsetV;
|
|
double MinPress;
|
|
double MaxPress;
|
|
} ;
|
|
|
|
#pragma option push -b-
|
|
enum TPowerSource { NotDefined, InternalSource, Transducer, Generator, Accumulator, CurrentCollector,
|
|
PowerCable, Heater };
|
|
#pragma option pop
|
|
|
|
struct _mover__1
|
|
{
|
|
double MaxCapacity;
|
|
TPowerSource RechargeSource;
|
|
} ;
|
|
|
|
struct _mover__2
|
|
{
|
|
TPowerType PowerTrans;
|
|
double SteamPressure;
|
|
} ;
|
|
|
|
struct _mover__3
|
|
{
|
|
TGrateType Grate;
|
|
TBoilerType Boiler;
|
|
} ;
|
|
|
|
struct TPowerParameters
|
|
{
|
|
double MaxVoltage;
|
|
double MaxCurrent;
|
|
double IntR;
|
|
TPowerSource SourceType;
|
|
union
|
|
{
|
|
struct
|
|
{
|
|
_mover__3 RHeater;
|
|
|
|
};
|
|
struct
|
|
{
|
|
_mover__2 RPowerCable;
|
|
|
|
};
|
|
struct
|
|
{
|
|
TCurrentCollector CollectorParameters;
|
|
|
|
};
|
|
struct
|
|
{
|
|
_mover__1 RAccumulator;
|
|
|
|
};
|
|
struct
|
|
{
|
|
TEngineTypes GeneratorEngine;
|
|
|
|
};
|
|
struct
|
|
{
|
|
double InputVoltage;
|
|
|
|
};
|
|
struct
|
|
{
|
|
TPowerType PowerType;
|
|
|
|
};
|
|
|
|
};
|
|
} ;
|
|
|
|
struct TScheme
|
|
{
|
|
Byte Relay;
|
|
double R;
|
|
Byte Bn;
|
|
Byte Mn;
|
|
bool AutoSwitch;
|
|
Byte ScndAct;
|
|
} ;
|
|
|
|
typedef TScheme TSchemeTable[65];
|
|
|
|
struct TDEScheme
|
|
{
|
|
double RPM;
|
|
double GenPower;
|
|
double Umax;
|
|
double Imax;
|
|
} ;
|
|
|
|
typedef TDEScheme TDESchemeTable[33];
|
|
|
|
struct TShuntScheme
|
|
{
|
|
double Umin;
|
|
double Umax;
|
|
double Pmin;
|
|
double Pmax;
|
|
} ;
|
|
|
|
typedef TShuntScheme TShuntSchemeTable[33];
|
|
|
|
struct TMPTRelay
|
|
{
|
|
double Iup;
|
|
double Idown;
|
|
} ;
|
|
|
|
typedef TMPTRelay TMPTRelayTable[8];
|
|
|
|
struct TMotorParameters
|
|
{
|
|
double mfi;
|
|
double mIsat;
|
|
double mfi0;
|
|
double fi;
|
|
double Isat;
|
|
double fi0;
|
|
bool AutoSwitch;
|
|
} ;
|
|
|
|
struct TSecuritySystem
|
|
{
|
|
Byte SystemType;
|
|
double AwareDelay;
|
|
double AwareMinSpeed;
|
|
double SoundSignalDelay;
|
|
double EmergencyBrakeDelay;
|
|
Byte Status;
|
|
double SystemTimer;
|
|
double SystemSoundCATimer;
|
|
double SystemSoundSHPTimer;
|
|
double SystemBrakeCATimer;
|
|
double SystemBrakeSHPTimer;
|
|
double SystemBrakeCATestTimer;
|
|
int VelocityAllowed;
|
|
int NextVelocityAllowed;
|
|
bool RadioStop;
|
|
} ;
|
|
|
|
struct TTransmision
|
|
{
|
|
Byte NToothM;
|
|
Byte NToothW;
|
|
double Ratio;
|
|
} ;
|
|
|
|
#pragma option push -b-
|
|
enum TCouplerType { NoCoupler, Articulated, Bare, Chain, Screw, Automatic };
|
|
#pragma option pop
|
|
|
|
class DELPHICLASS T_MoverParameters;
|
|
struct TCoupling;
|
|
class PASCALIMPLEMENTATION T_MoverParameters : public System::TObject
|
|
{
|
|
typedef System::TObject inherited;
|
|
|
|
public:
|
|
double dMoveLen;
|
|
AnsiString filename;
|
|
Byte CategoryFlag;
|
|
AnsiString TypeName;
|
|
int TrainType;
|
|
TEngineTypes EngineType;
|
|
TPowerParameters EnginePowerSource;
|
|
TPowerParameters SystemPowerSource;
|
|
TPowerParameters HeatingPowerSource;
|
|
TPowerParameters AlterHeatPowerSource;
|
|
TPowerParameters LightPowerSource;
|
|
TPowerParameters AlterLightPowerSource;
|
|
double Vmax;
|
|
double Mass;
|
|
double Power;
|
|
double Mred;
|
|
double TotalMass;
|
|
double HeatingPower;
|
|
double LightPower;
|
|
double BatteryVoltage;
|
|
bool Battery;
|
|
bool EpFuse;
|
|
bool Signalling;
|
|
bool DoorSignalling;
|
|
bool Radio;
|
|
double NominalBatteryVoltage;
|
|
TDimension Dim;
|
|
double Cx;
|
|
double Floor;
|
|
double WheelDiameter;
|
|
double WheelDiameterL;
|
|
double WheelDiameterT;
|
|
double TrackW;
|
|
double AxleInertialMoment;
|
|
AnsiString AxleArangement;
|
|
Byte NPoweredAxles;
|
|
Byte NAxles;
|
|
Byte BearingType;
|
|
double ADist;
|
|
double BDist;
|
|
Byte NBpA;
|
|
int SandCapacity;
|
|
TBrakeSystem BrakeSystem;
|
|
TBrakeSubSystem BrakeSubsystem;
|
|
TBrakeValve BrakeValve;
|
|
TBrakeHandle BrakeHandle;
|
|
TBrakeHandle BrakeLocHandle;
|
|
double MBPM;
|
|
Hamulce::TBrake* Hamulec;
|
|
Hamulce::THandle* Handle;
|
|
Hamulce::THandle* LocHandle;
|
|
Hamulce::TReservoir* Pipe;
|
|
Hamulce::TReservoir* Pipe2;
|
|
TLocalBrake LocalBrake;
|
|
TBrakePressure BrakePressureTable[13];
|
|
TBrakePressure BrakePressureActual;
|
|
Byte ASBType;
|
|
Byte TurboTest;
|
|
double MaxBrakeForce;
|
|
double MaxBrakePress[5];
|
|
double P2FTrans;
|
|
double TrackBrakeForce;
|
|
Byte BrakeMethod;
|
|
double HighPipePress;
|
|
double LowPipePress;
|
|
double DeltaPipePress;
|
|
double CntrlPipePress;
|
|
double BrakeVolume;
|
|
double BrakeVVolume;
|
|
double VeselVolume;
|
|
int BrakeCylNo;
|
|
double BrakeCylRadius;
|
|
double BrakeCylDist;
|
|
double BrakeCylMult[3];
|
|
Byte LoadFlag;
|
|
double BrakeCylSpring;
|
|
double BrakeSlckAdj;
|
|
double BrakeRigEff;
|
|
double RapidMult;
|
|
int BrakeValveSize;
|
|
AnsiString BrakeValveParams;
|
|
double Spg;
|
|
double MinCompressor;
|
|
double MaxCompressor;
|
|
double CompressorSpeed;
|
|
double BrakeDelay[4];
|
|
Byte BrakeCtrlPosNo;
|
|
Byte MainCtrlPosNo;
|
|
Byte ScndCtrlPosNo;
|
|
Byte LightsPosNo;
|
|
Byte LightsDefPos;
|
|
bool LightsWrap;
|
|
Byte Lights[2][16];
|
|
bool ScndInMain;
|
|
bool MBrake;
|
|
double StopBrakeDecc;
|
|
TSecuritySystem SecuritySystem;
|
|
TScheme RList[65];
|
|
int RlistSize;
|
|
TMotorParameters MotorParam[11];
|
|
TTransmision Transmision;
|
|
double NominalVoltage;
|
|
double WindingRes;
|
|
double u;
|
|
double CircuitRes;
|
|
int IminLo;
|
|
int IminHi;
|
|
int ImaxLo;
|
|
int ImaxHi;
|
|
double nmax;
|
|
double InitialCtrlDelay;
|
|
double CtrlDelay;
|
|
double CtrlDownDelay;
|
|
Byte FastSerialCircuit;
|
|
Byte AutoRelayType;
|
|
bool CoupledCtrl;
|
|
bool IsCoupled;
|
|
Byte DynamicBrakeType;
|
|
Byte RVentType;
|
|
double RVentnmax;
|
|
double RVentCutOff;
|
|
int CompressorPower;
|
|
int SmallCompressorPower;
|
|
bool Trafo;
|
|
double dizel_Mmax;
|
|
double dizel_nMmax;
|
|
double dizel_Mnmax;
|
|
double dizel_nmax;
|
|
double dizel_nominalfill;
|
|
double dizel_Mstand;
|
|
double dizel_nmax_cutoff;
|
|
double dizel_nmin;
|
|
double dizel_minVelfullengage;
|
|
double dizel_AIM;
|
|
double dizel_engageDia;
|
|
double dizel_engageMaxForce;
|
|
double dizel_engagefriction;
|
|
double AnPos;
|
|
bool AnalogCtrl;
|
|
bool AnMainCtrl;
|
|
bool ShuntModeAllow;
|
|
bool ShuntMode;
|
|
bool Flat;
|
|
double Vhyp;
|
|
TDEScheme DElist[33];
|
|
double Vadd;
|
|
TMPTRelay MPTRelay[8];
|
|
Byte RelayType;
|
|
TShuntScheme SST[33];
|
|
double PowerCorRatio;
|
|
double Ftmax;
|
|
double eimc[26];
|
|
int MaxLoad;
|
|
AnsiString LoadAccepted;
|
|
AnsiString LoadQuantity;
|
|
double OverLoadFactor;
|
|
double LoadSpeed;
|
|
double UnLoadSpeed;
|
|
Byte DoorOpenCtrl;
|
|
Byte DoorCloseCtrl;
|
|
double DoorStayOpen;
|
|
bool DoorClosureWarning;
|
|
double DoorOpenSpeed;
|
|
double DoorCloseSpeed;
|
|
double DoorMaxShiftL;
|
|
double DoorMaxShiftR;
|
|
double DoorMaxPlugShift;
|
|
Byte DoorOpenMethod;
|
|
double PlatformSpeed;
|
|
double PlatformMaxShift;
|
|
Byte PlatformOpenMethod;
|
|
bool ScndS;
|
|
TLocation Loc;
|
|
TRotation Rot;
|
|
AnsiString Name;
|
|
TCoupling Couplers[2];
|
|
double HVCouplers[2][2];
|
|
int ScanCounter;
|
|
bool EventFlag;
|
|
Byte SoundFlag;
|
|
double DistCounter;
|
|
double V;
|
|
double Vel;
|
|
double AccS;
|
|
double AccN;
|
|
double AccV;
|
|
double nrot;
|
|
double EnginePower;
|
|
double dL;
|
|
double Fb;
|
|
double Ff;
|
|
double FTrain;
|
|
double FStand;
|
|
double FTotal;
|
|
double UnitBrakeForce;
|
|
double Ntotal;
|
|
bool SlippingWheels;
|
|
bool SandDose;
|
|
double Sand;
|
|
double BrakeSlippingTimer;
|
|
double dpBrake;
|
|
double dpPipe;
|
|
double dpMainValve;
|
|
double dpLocalValve;
|
|
double ScndPipePress;
|
|
double BrakePress;
|
|
double LocBrakePress;
|
|
double PipeBrakePress;
|
|
double PipePress;
|
|
double EqvtPipePress;
|
|
double Volume;
|
|
double CompressedVolume;
|
|
double PantVolume;
|
|
double Compressor;
|
|
bool CompressorFlag;
|
|
bool PantCompFlag;
|
|
bool CompressorAllow;
|
|
bool ConverterFlag;
|
|
bool ConverterAllow;
|
|
int BrakeCtrlPos;
|
|
double BrakeCtrlPosR;
|
|
double BrakeCtrlPos2;
|
|
Byte LocalBrakePos;
|
|
Byte ManualBrakePos;
|
|
double LocalBrakePosA;
|
|
Byte BrakeStatus;
|
|
bool EmergencyBrakeFlag;
|
|
Byte BrakeDelayFlag;
|
|
Byte BrakeDelays;
|
|
Byte BrakeOpModeFlag;
|
|
Byte BrakeOpModes;
|
|
bool DynamicBrakeFlag;
|
|
double LimPipePress;
|
|
double ActFlowSpeed;
|
|
Byte DamageFlag;
|
|
Byte EngDmgFlag;
|
|
Byte DerailReason;
|
|
TCommand CommandIn;
|
|
AnsiString CommandOut;
|
|
AnsiString CommandLast;
|
|
double ValueOut;
|
|
TTrackShape RunningShape;
|
|
TTrackParam RunningTrack;
|
|
double OffsetTrackH;
|
|
double OffsetTrackV;
|
|
bool Mains;
|
|
Byte MainCtrlPos;
|
|
Byte ScndCtrlPos;
|
|
Byte LightsPos;
|
|
int ActiveDir;
|
|
int CabNo;
|
|
int DirAbsolute;
|
|
int ActiveCab;
|
|
double LastSwitchingTime;
|
|
bool DepartureSignal;
|
|
bool InsideConsist;
|
|
TTractionParam RunningTraction;
|
|
double enrot;
|
|
double Im;
|
|
double Itot;
|
|
double IHeating;
|
|
double ITraction;
|
|
double TotalCurrent;
|
|
double Mm;
|
|
double Mw;
|
|
double Fw;
|
|
double Ft;
|
|
int Imin;
|
|
int Imax;
|
|
double Voltage;
|
|
Byte MainCtrlActualPos;
|
|
Byte ScndCtrlActualPos;
|
|
bool DelayCtrlFlag;
|
|
double LastRelayTime;
|
|
bool AutoRelayFlag;
|
|
bool FuseFlag;
|
|
bool ConvOvldFlag;
|
|
bool StLinFlag;
|
|
bool ResistorsFlag;
|
|
double RventRot;
|
|
bool UnBrake;
|
|
double PantPress;
|
|
bool s_CAtestebrake;
|
|
double dizel_fill;
|
|
double dizel_engagestate;
|
|
double dizel_engage;
|
|
double dizel_automaticgearstatus;
|
|
bool dizel_enginestart;
|
|
double dizel_engagedeltaomega;
|
|
double eimv[21];
|
|
double PulseForce;
|
|
double PulseForceTimer;
|
|
int PulseForceCount;
|
|
double eAngle;
|
|
int Load;
|
|
AnsiString LoadType;
|
|
Byte LoadStatus;
|
|
double LastLoadChangeTime;
|
|
bool DoorBlocked;
|
|
bool DoorLeftOpened;
|
|
bool DoorRightOpened;
|
|
bool PantFrontUp;
|
|
bool PantRearUp;
|
|
bool PantFrontSP;
|
|
bool PantRearSP;
|
|
int PantFrontStart;
|
|
int PantRearStart;
|
|
double PantFrontVolt;
|
|
double PantRearVolt;
|
|
AnsiString PantSwitchType;
|
|
AnsiString ConvSwitchType;
|
|
bool Heating;
|
|
int DoubleTr;
|
|
bool PhysicActivation;
|
|
double FrictConst1;
|
|
double FrictConst2s;
|
|
double FrictConst2d;
|
|
double TotalMassxg;
|
|
double __fastcall GetTrainsetVoltage(void);
|
|
bool __fastcall Physic_ReActivation(void);
|
|
double __fastcall LocalBrakeRatio(void);
|
|
double __fastcall ManualBrakeRatio(void);
|
|
double __fastcall PipeRatio(void);
|
|
double __fastcall RealPipeRatio(void);
|
|
double __fastcall BrakeVP(void);
|
|
bool __fastcall DynamicBrakeSwitch(bool Switch);
|
|
bool __fastcall SendCtrlBroadcast(AnsiString CtrlCommand, double ctrlvalue);
|
|
bool __fastcall SendCtrlToNext(AnsiString CtrlCommand, double ctrlvalue, double dir);
|
|
bool __fastcall CabActivisation(void);
|
|
bool __fastcall CabDeactivisation(void);
|
|
bool __fastcall IncMainCtrl(int CtrlSpeed);
|
|
bool __fastcall DecMainCtrl(int CtrlSpeed);
|
|
bool __fastcall IncScndCtrl(int CtrlSpeed);
|
|
bool __fastcall DecScndCtrl(int CtrlSpeed);
|
|
bool __fastcall AddPulseForce(int Multipler);
|
|
bool __fastcall SandDoseOn(void);
|
|
bool __fastcall SecuritySystemReset(void);
|
|
void __fastcall SecuritySystemCheck(double dt);
|
|
bool __fastcall BatterySwitch(bool State);
|
|
bool __fastcall EpFuseSwitch(bool State);
|
|
bool __fastcall IncBrakeLevelOld(void);
|
|
bool __fastcall DecBrakeLevelOld(void);
|
|
bool __fastcall IncLocalBrakeLevel(Byte CtrlSpeed);
|
|
bool __fastcall DecLocalBrakeLevel(Byte CtrlSpeed);
|
|
bool __fastcall IncLocalBrakeLevelFAST(void);
|
|
bool __fastcall DecLocalBrakeLevelFAST(void);
|
|
bool __fastcall IncManualBrakeLevel(Byte CtrlSpeed);
|
|
bool __fastcall DecManualBrakeLevel(Byte CtrlSpeed);
|
|
bool __fastcall EmergencyBrakeSwitch(bool Switch);
|
|
bool __fastcall AntiSlippingBrake(void);
|
|
bool __fastcall BrakeReleaser(Byte state);
|
|
bool __fastcall SwitchEPBrake(Byte state);
|
|
bool __fastcall AntiSlippingButton(void);
|
|
bool __fastcall IncBrakePress(double &brake, double PressLimit, double dp);
|
|
bool __fastcall DecBrakePress(double &brake, double PressLimit, double dp);
|
|
bool __fastcall BrakeDelaySwitch(Byte BDS);
|
|
bool __fastcall IncBrakeMult(void);
|
|
bool __fastcall DecBrakeMult(void);
|
|
void __fastcall UpdateBrakePressure(double dt);
|
|
void __fastcall UpdatePipePressure(double dt);
|
|
void __fastcall CompressorCheck(double dt);
|
|
void __fastcall UpdateScndPipePressure(double dt);
|
|
double __fastcall GetDVc(double dt);
|
|
void __fastcall ComputeConstans(void);
|
|
double __fastcall ComputeMass(void);
|
|
double __fastcall Adhesive(double staticfriction);
|
|
double __fastcall TractionForce(double dt);
|
|
double __fastcall FrictionForce(double R, Byte TDamage);
|
|
double __fastcall BrakeForce(const TTrackParam &Track);
|
|
double __fastcall CouplerForce(Byte CouplerN, double dt);
|
|
void __fastcall CollisionDetect(Byte CouplerN, double dt);
|
|
double __fastcall ComputeRotatingWheel(double WForce, double dt, double n);
|
|
bool __fastcall SetInternalCommand(AnsiString NewCommand, double NewValue1, double NewValue2);
|
|
double __fastcall GetExternalCommand(AnsiString &Command);
|
|
bool __fastcall RunCommand(AnsiString command, double CValue1, double CValue2);
|
|
bool __fastcall RunInternalCommand(void);
|
|
void __fastcall PutCommand(AnsiString NewCommand, double NewValue1, double NewValue2, const TLocation
|
|
&NewLocation);
|
|
bool __fastcall DirectionBackward(void);
|
|
bool __fastcall MainSwitch(bool State);
|
|
bool __fastcall ConverterSwitch(bool State);
|
|
bool __fastcall CompressorSwitch(bool State);
|
|
bool __fastcall FuseOn(void);
|
|
bool __fastcall FuseFlagCheck(void);
|
|
void __fastcall FuseOff(void);
|
|
int __fastcall ShowCurrent(Byte AmpN);
|
|
double __fastcall v2n(void);
|
|
double __fastcall current(double n, double U);
|
|
double __fastcall Momentum(double I);
|
|
double __fastcall MomentumF(double I, double Iw, Byte SCP);
|
|
bool __fastcall CutOffEngine(void);
|
|
bool __fastcall MaxCurrentSwitch(bool State);
|
|
bool __fastcall ResistorsFlagCheck(void);
|
|
bool __fastcall MinCurrentSwitch(bool State);
|
|
bool __fastcall AutoRelaySwitch(bool State);
|
|
bool __fastcall AutoRelayCheck(void);
|
|
bool __fastcall dizel_EngageSwitch(double state);
|
|
bool __fastcall dizel_EngageChange(double dt);
|
|
bool __fastcall dizel_AutoGearCheck(void);
|
|
double __fastcall dizel_fillcheck(Byte mcp);
|
|
double __fastcall dizel_Momentum(double dizel_fill, double n, double dt);
|
|
bool __fastcall dizel_Update(double dt);
|
|
bool __fastcall LoadingDone(double LSpeed, AnsiString LoadInit);
|
|
void __fastcall ComputeTotalForce(double dt, double dt1, bool FullVer);
|
|
double __fastcall ComputeMovement(double dt, double dt1, const TTrackShape &Shape, TTrackParam &Track
|
|
, TTractionParam &ElectricTraction, const TLocation &NewLoc, TRotation &NewRot);
|
|
double __fastcall FastComputeMovement(double dt, const TTrackShape &Shape, TTrackParam &Track, const
|
|
TLocation &NewLoc, TRotation &NewRot);
|
|
bool __fastcall ChangeOffsetH(double DeltaOffset);
|
|
__fastcall T_MoverParameters(double VelInitial, AnsiString TypeNameInit, AnsiString NameInit, int LoadInitial
|
|
, AnsiString LoadTypeInitial, int Cab);
|
|
bool __fastcall LoadChkFile(AnsiString chkpath);
|
|
bool __fastcall CheckLocomotiveParameters(bool ReadyFlag, int Dir);
|
|
AnsiString __fastcall EngineDescription(int what);
|
|
bool __fastcall DoorLeft(bool State);
|
|
bool __fastcall DoorRight(bool State);
|
|
bool __fastcall DoorBlockedFlag(void);
|
|
bool __fastcall PantFront(bool State);
|
|
bool __fastcall PantRear(bool State);
|
|
public:
|
|
#pragma option push -w-inl
|
|
/* TObject.Create */ inline __fastcall T_MoverParameters(void) : System::TObject() { }
|
|
#pragma option pop
|
|
#pragma option push -w-inl
|
|
/* TObject.Destroy */ inline __fastcall virtual ~T_MoverParameters(void) { }
|
|
#pragma option pop
|
|
|
|
};
|
|
|
|
|
|
struct TCoupling
|
|
{
|
|
double SpringKB;
|
|
double SpringKC;
|
|
double beta;
|
|
double DmaxB;
|
|
double FmaxB;
|
|
double DmaxC;
|
|
double FmaxC;
|
|
TCouplerType CouplerType;
|
|
Byte CouplingFlag;
|
|
int AllowedFlag;
|
|
bool Render;
|
|
double CoupleDist;
|
|
T_MoverParameters* Connected;
|
|
Byte ConnectedNr;
|
|
double CForce;
|
|
double Dist;
|
|
bool CheckCollision;
|
|
} ;
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
static const bool Go = true;
|
|
static const bool Hold = false;
|
|
static const Shortint ResArraySize = 0x40;
|
|
static const Shortint MotorParametersArraySize = 0xa;
|
|
static const Shortint maxcc = 0x4;
|
|
static const Shortint LocalBrakePosNo = 0xa;
|
|
static const Shortint MainBrakeMaxPos = 0xa;
|
|
static const Shortint ManualBrakePosNo = 0x14;
|
|
static const Shortint LightsSwitchPosNo = 0x10;
|
|
static const Shortint dtrack_railwear = 0x2;
|
|
static const Shortint dtrack_freerail = 0x4;
|
|
static const Shortint dtrack_thinrail = 0x8;
|
|
static const Shortint dtrack_railbend = 0x10;
|
|
static const Shortint dtrack_plants = 0x20;
|
|
static const Shortint dtrack_nomove = 0x40;
|
|
static const Byte dtrack_norail = 0x80;
|
|
static const Shortint dtrain_thinwheel = 0x1;
|
|
static const Shortint dtrain_loadshift = 0x1;
|
|
static const Shortint dtrain_wheelwear = 0x2;
|
|
static const Shortint dtrain_bearing = 0x4;
|
|
static const Shortint dtrain_coupling = 0x8;
|
|
static const Shortint dtrain_ventilator = 0x10;
|
|
static const Shortint dtrain_loaddamage = 0x10;
|
|
static const Shortint dtrain_engine = 0x20;
|
|
static const Shortint dtrain_loaddestroyed = 0x20;
|
|
static const Shortint dtrain_axle = 0x40;
|
|
static const Byte dtrain_out = 0x80;
|
|
#define p_elengproblem (1.000000E-02)
|
|
#define p_elengdamage (1.000000E-01)
|
|
#define p_coupldmg (2.000000E-02)
|
|
#define p_derail (1.000000E-03)
|
|
#define p_accn (1.000000E-01)
|
|
#define p_slippdmg (1.000000E-03)
|
|
static const Shortint ctrain_virtual = 0x0;
|
|
static const Shortint ctrain_coupler = 0x1;
|
|
static const Shortint ctrain_pneumatic = 0x2;
|
|
static const Shortint ctrain_controll = 0x4;
|
|
static const Shortint ctrain_power = 0x8;
|
|
static const Shortint ctrain_passenger = 0x10;
|
|
static const Shortint ctrain_scndpneumatic = 0x20;
|
|
static const Shortint ctrain_heating = 0x40;
|
|
static const Byte ctrain_depot = 0x80;
|
|
static const Shortint dbrake_none = 0x0;
|
|
static const Shortint dbrake_passive = 0x1;
|
|
static const Shortint dbrake_switch = 0x2;
|
|
static const Shortint dbrake_reversal = 0x4;
|
|
static const Shortint dbrake_automatic = 0x8;
|
|
static const Shortint s_waiting = 0x1;
|
|
static const Shortint s_aware = 0x2;
|
|
static const Shortint s_active = 0x4;
|
|
static const Shortint s_CAalarm = 0x8;
|
|
static const Shortint s_SHPalarm = 0x10;
|
|
static const Shortint s_CAebrake = 0x20;
|
|
static const Shortint s_SHPebrake = 0x40;
|
|
static const Byte s_CAtest = 0x80;
|
|
static const Shortint sound_none = 0x0;
|
|
static const Shortint sound_loud = 0x1;
|
|
static const Shortint sound_couplerstretch = 0x2;
|
|
static const Shortint sound_bufferclamp = 0x4;
|
|
static const Shortint sound_bufferbump = 0x8;
|
|
static const Shortint sound_relay = 0x10;
|
|
static const Shortint sound_manyrelay = 0x20;
|
|
static const Shortint sound_brakeacc = 0x40;
|
|
extern PACKAGE bool PhysicActivationFlag;
|
|
static const Shortint dt_Default = 0x0;
|
|
static const Shortint dt_EZT = 0x1;
|
|
static const Shortint dt_ET41 = 0x2;
|
|
static const Shortint dt_ET42 = 0x4;
|
|
static const Shortint dt_PseudoDiesel = 0x8;
|
|
static const Shortint dt_ET22 = 0x10;
|
|
static const Shortint dt_SN61 = 0x20;
|
|
static const Shortint dt_EP05 = 0x40;
|
|
static const Byte dt_ET40 = 0x80;
|
|
static const Word dt_181 = 0x100;
|
|
static const Shortint eimc_s_dfic = 0x0;
|
|
static const Shortint eimc_s_dfmax = 0x1;
|
|
static const Shortint eimc_s_p = 0x2;
|
|
static const Shortint eimc_s_cfu = 0x3;
|
|
static const Shortint eimc_s_cim = 0x4;
|
|
static const Shortint eimc_s_icif = 0x5;
|
|
static const Shortint eimc_f_Uzmax = 0x7;
|
|
static const Shortint eimc_f_Uzh = 0x8;
|
|
static const Shortint eimc_f_DU = 0x9;
|
|
static const Shortint eimc_f_I0 = 0xa;
|
|
static const Shortint eimc_f_cfu = 0xb;
|
|
static const Shortint eimc_p_F0 = 0xd;
|
|
static const Shortint eimc_p_a1 = 0xe;
|
|
static const Shortint eimc_p_Pmax = 0xf;
|
|
static const Shortint eimc_p_Fh = 0x10;
|
|
static const Shortint eimc_p_Ph = 0x11;
|
|
static const Shortint eimc_p_Vh0 = 0x12;
|
|
static const Shortint eimc_p_Vh1 = 0x13;
|
|
static const Shortint eimc_p_Imax = 0x14;
|
|
static const Shortint eimc_p_abed = 0x15;
|
|
static const Shortint eimc_p_eped = 0x16;
|
|
static const Shortint eimv_FMAXMAX = 0x0;
|
|
static const Shortint eimv_Fmax = 0x1;
|
|
static const Shortint eimv_ks = 0x2;
|
|
static const Shortint eimv_df = 0x3;
|
|
static const Shortint eimv_fp = 0x4;
|
|
static const Shortint eimv_U = 0x5;
|
|
static const Shortint eimv_pole = 0x6;
|
|
static const Shortint eimv_Ic = 0x7;
|
|
static const Shortint eimv_If = 0x8;
|
|
static const Shortint eimv_M = 0x9;
|
|
static const Shortint eimv_Fr = 0xa;
|
|
static const Shortint eimv_Ipoj = 0xb;
|
|
static const Shortint eimv_Pm = 0xc;
|
|
static const Shortint eimv_Pe = 0xd;
|
|
static const Shortint eimv_eta = 0xe;
|
|
static const Shortint eimv_fkr = 0xf;
|
|
static const Shortint eimv_Uzsmax = 0x10;
|
|
static const Shortint eimv_Pmax = 0x11;
|
|
static const Shortint eimv_Fzad = 0x12;
|
|
static const Shortint eimv_Imax = 0x13;
|
|
static const Shortint eimv_Fful = 0x14;
|
|
static const Shortint bom_PS = 0x1;
|
|
static const Shortint bom_PN = 0x2;
|
|
static const Shortint bom_EP = 0x4;
|
|
static const Shortint bom_MED = 0x8;
|
|
extern PACKAGE double __fastcall Distance(const TLocation &Loc1, const TLocation &Loc2, const TDimension
|
|
&Dim1, const TDimension &Dim2);
|
|
|
|
} /* namespace _mover */
|
|
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
|
|
using namespace _mover;
|
|
#endif
|
|
#pragma option pop // -w-
|
|
#pragma option pop // -Vx
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // _mover
|