From 8b3e5077fab686fcdcccb47c4d7a9e30d6ed6403 Mon Sep 17 00:00:00 2001 From: firleju Date: Mon, 3 Oct 2016 06:44:50 +0200 Subject: [PATCH] =?UTF-8?q?Zmiany=20do=20friction=20i=20pokrewnych=20plik?= =?UTF-8?q?=C3=B3w.=20Kompiluje=20si=C4=99,=20ale=20nie=20buduje=20jak=20w?= =?UTF-8?q?czesniej.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EU07.bpr | 3 +- EU07.cpp | 1 + McZapkie/Mover.hpp | 4 +- McZapkie/Oerlikon_ESt.h | 2 +- McZapkie/friction.cpp | 126 +++++++++++----------- McZapkie/friction.h | 30 ++---- McZapkie/friction.~hpp | 232 ++++++++++++++++++++++++++++++++++++++++ McZapkie/hamulce.h | 3 +- McZapkie/hamulce.hpp | 2 +- 9 files changed, 312 insertions(+), 91 deletions(-) create mode 100644 McZapkie/friction.~hpp diff --git a/EU07.bpr b/EU07.bpr index 85f60a4e..70b1ca8c 100644 --- a/EU07.bpr +++ b/EU07.bpr @@ -13,7 +13,8 @@ opengl\glew.obj ResourceManager.obj VBO.obj mtable.obj TextureDDS.obj opengl\ARB_Multisample.obj Float3d.obj Classes.obj Driver.obj Names.obj Console.obj Mover.obj McZapkie\hamulce.obj McZapkie\Oerlikon_ESt.obj - Console\PoKeys55.obj Forth.obj Console\LPT.obj PyInt.obj"/> + McZapkie\friction.obj Console\PoKeys55.obj Forth.obj Console\LPT.obj + PyInt.obj"/> diff --git a/EU07.cpp b/EU07.cpp index a3b2e3ae..78b5df35 100644 --- a/EU07.cpp +++ b/EU07.cpp @@ -83,6 +83,7 @@ USEUNIT("Mover.cpp"); USEUNIT("McZapkie\_mover.pas"); USEUNIT("McZapkie\hamulce.cpp"); USEUNIT("McZapkie\Oerlikon_ESt.cpp"); +USEUNIT("McZapkie\friction.cpp"); USEUNIT("Console\PoKeys55.cpp"); USEUNIT("Forth.cpp"); USEUNIT("Console\LPT.cpp"); diff --git a/McZapkie/Mover.hpp b/McZapkie/Mover.hpp index d60ec06c..8bbe1677 100644 --- a/McZapkie/Mover.hpp +++ b/McZapkie/Mover.hpp @@ -11,8 +11,8 @@ #pragma delphiheader begin #pragma option push -w- #pragma option push -Vx -#include // Pascal unit -#include // Pascal unit +#include "Oerlikon_ESt.h" // Pascal unit +#include "hamulce.h" // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit diff --git a/McZapkie/Oerlikon_ESt.h b/McZapkie/Oerlikon_ESt.h index 8b4ee8d5..d4c7ad5d 100644 --- a/McZapkie/Oerlikon_ESt.h +++ b/McZapkie/Oerlikon_ESt.h @@ -18,7 +18,7 @@ http://mozilla.org/MPL/2.0/. */ #include "hamulce.h" // Pascal unit -#include // Pascal unit +#include "friction.h" // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit diff --git a/McZapkie/friction.cpp b/McZapkie/friction.cpp index a84eca47..503b4968 100644 --- a/McZapkie/friction.cpp +++ b/McZapkie/friction.cpp @@ -13,105 +13,101 @@ Copyright (C) 2007-2013 Maciej Cierniak */ #include "friction.h" - - +#include double TFricMat::GetFC(double N, double Vel) -{ double result; - GetFC =1; -return result; +{ + return 1; } double TP10Bg::GetFC(double N, double Vel) -{ double result; -// GetFC:=0.60*((1.6*N+100)/(8.0*N+100))*((Vel+100)/(5*Vel+100))*(1.0032-0.0007*N-0.0001*N*N); -// GetFC:=47/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145; -// GetFC:=46/(2*Vel+100)*(11.33-0.105*N)/(11.33+0.179*N); -// GetFC:=49/(2*Vel+100)*(13.08-0.083*N)/(12.94+0.285*N); -//if Vel<20 then 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:=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 =exp( -0.022*N )*( 0.19-0.095*exp( -Vel*1.0/25.7 ) )+0.384*exp( -Vel*1.0/25.7 )-0.028; -return result; +{ + // GetFC:=0.60*((1.6*N+100)/(8.0*N+100))*((Vel+100)/(5*Vel+100))*(1.0032-0.0007*N-0.0001*N*N); + // GetFC:=47/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145; + // GetFC:=46/(2*Vel+100)*(11.33-0.105*N)/(11.33+0.179*N); + // GetFC:=49/(2*Vel+100)*(13.08-0.083*N)/(12.94+0.285*N); + // if Vel<20 then 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:=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); + 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; } double TP10Bgu::GetFC(double N, double Vel) -{ double result; -// GetFC:=0.60*((1.6*N+100)/(8.0*N+100))*((Vel+100)/(5*Vel+100)); -// GetFC:=47/(2*Vel+100)*(2.137-0.0514*N+0.000832*N*N-0.00000604*N*N*N)/2.137; -// GetFC:=0.49*100/(2*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N); -// GetFC:=0.52*((Vel+100)/(5.0*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N); -//if Vel<20 then 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.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 =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); -return result; +{ + // GetFC:=0.60*((1.6*N+100)/(8.0*N+100))*((Vel+100)/(5*Vel+100)); + // GetFC:=47/(2*Vel+100)*(2.137-0.0514*N+0.000832*N*N-0.00000604*N*N*N)/2.137; + // GetFC:=0.49*100/(2*Vel+100)*(11.33-0.013*N)/(11.33+0.280*N); + // GetFC:=0.52*((Vel+100)/(5.0*Vel+100))*(11.33-0.013*N)/(11.33+0.280*N); + // if Vel<20 then 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.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); + 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); } double TP10yBg::GetFC(double N, double Vel) -{ double result; double A; double C; double u0; double V0; +{ + double A; + double C; + double u0; + double V0; - A =2.135*exp( -0.03726*N )-0.5; - C =0.353-A*0.029; - u0 =0.41-C; - V0 =25.7+20*A; - GetFC =( u0+C*exp( -Vel*1.0/V0 ) ); -return result; + A = 2.135 * exp(-0.03726 * N) - 0.5; + C = 0.353 - A * 0.029; + u0 = 0.41 - C; + V0 = 25.7 + 20 * A; + return (u0 + C * exp(-Vel * 1.0 / V0)); } double TP10yBgu::GetFC(double N, double Vel) -{ double result; double A; double C; double u0; double V0; +{ + double A; + double C; + double u0; + double V0; - A =1.68*exp( -0.02735*N )-0.5; - C =0.353-A*0.044; - u0 =0.41-C; - V0 =25.7+21*A; - GetFC =( u0+C*exp( -Vel*1.0/V0 ) ); -return result; + A = 1.68 * exp(-0.02735 * N) - 0.5; + C = 0.353 - A * 0.044; + u0 = 0.41 - C; + V0 = 25.7 + 21 * A; + return (u0 + C * exp(-Vel * 1.0 / V0)); } double TP10::GetFC(double N, double Vel) -{ double result; - GetFC =0.60*( ( 1.6*N+100 )*1.0/( 8.0*N+100 ) )*( ( Vel+100 )*1.0/( 5*Vel+100 ) ); -// GetFC:=43/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145 -return result; +{ + return + 0.60 * ((1.6 * N + 100) * 1.0 / (8.0 * N + 100)) * ((Vel + 100) * 1.0 / (5 * Vel + 100)); + // GetFC:=43/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145 } - double TFR513::GetFC(double N, double Vel) -{ double result; - GetFC =0.3-Vel*0.00081; -// GetFC:=43/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145 -return result; +{ + return 0.3 - Vel * 0.00081; + // GetFC:=43/(2*Vel+100)*(2.145-0.0538*N+0.00074*N*N-0.00000536*N*N*N)/2.145 } double TCosid::GetFC(double N, double Vel) -{ double result; - GetFC =0.27; -return result; +{ + return 0.27; } double TDisk1::GetFC(double N, double Vel) -{ double result; - GetFC =0.2375+0.000885*N-0.000345*N*N; -return result; +{ + return 0.2375 + 0.000885 * N - 0.000345 * N * N; } double TDisk2::GetFC(double N, double Vel) -{ double result; - GetFC =0.27; -return result; +{ + return 0.27; } double TFR510::GetFC(double N, double Vel) -{ double result; - GetFC =0.15; -return result; +{ + return 0.15; } - - //END diff --git a/McZapkie/friction.h b/McZapkie/friction.h index f891d7eb..067a61b9 100644 --- a/McZapkie/friction.h +++ b/McZapkie/friction.h @@ -35,16 +35,8 @@ Zrobione: //uses hamulce; -#include // Pascal unit -#include // Pascal unit -#include // Pascal unit -#include // Pascal unit - - - - -struct/*class*/ TFricMat: public TObject +class TFricMat { public: virtual double GetFC(double N, double Vel); @@ -53,7 +45,7 @@ public: -struct/*class*/ TP10Bg: public TFricMat +class TP10Bg: public TFricMat { public: @@ -63,7 +55,7 @@ public: -struct/*class*/ TP10Bgu: public TFricMat +class TP10Bgu: public TFricMat { public: @@ -73,7 +65,7 @@ public: -struct/*class*/ TP10yBg: public TFricMat +class TP10yBg: public TFricMat { public: @@ -83,7 +75,7 @@ public: -struct/*class*/ TP10yBgu: public TFricMat +class TP10yBgu: public TFricMat { public: @@ -93,7 +85,7 @@ public: -struct/*class*/ TP10: public TFricMat +class TP10: public TFricMat { public: @@ -103,7 +95,7 @@ public: -struct/*class*/ TFR513: public TFricMat +class TFR513: public TFricMat { public: @@ -113,7 +105,7 @@ public: -struct/*class*/ TFR510: public TFricMat +class TFR510: public TFricMat { public: @@ -123,7 +115,7 @@ public: -struct/*class*/ TCosid: public TFricMat +class TCosid: public TFricMat { public: @@ -133,7 +125,7 @@ public: -struct/*class*/ TDisk1: public TFricMat +class TDisk1: public TFricMat { public: @@ -143,7 +135,7 @@ public: -struct/*class*/ TDisk2: public TFricMat +class TDisk2: public TFricMat { public: diff --git a/McZapkie/friction.~hpp b/McZapkie/friction.~hpp new file mode 100644 index 00000000..e64aa811 --- /dev/null +++ b/McZapkie/friction.~hpp @@ -0,0 +1,232 @@ +// Borland C++ Builder +// Copyright (c) 1995, 1999 by Borland International +// All rights reserved + +// (DO NOT EDIT: machine generated header) 'friction.pas' rev: 5.00 + +#ifndef frictionHPP +#define frictionHPP + +#pragma delphiheader begin +#pragma option push -w- +#pragma option push -Vx +#include // Pascal unit +#include // Pascal unit +#include // Pascal unit +#include // Pascal unit + +//-- user supplied ----------------------------------------------------------- + +namespace Physics +{ +//-- type declarations ------------------------------------------------------- +class DELPHICLASS TFricMat; +class PASCALIMPLEMENTATION TFricMat : public System::TObject +{ + typedef System::TObject inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TFricMat(void) : System::TObject() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TFricMat(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TP10Bg; +class PASCALIMPLEMENTATION TP10Bg : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TP10Bg(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TP10Bg(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TP10Bgu; +class PASCALIMPLEMENTATION TP10Bgu : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TP10Bgu(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TP10Bgu(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TP10yBg; +class PASCALIMPLEMENTATION TP10yBg : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TP10yBg(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TP10yBg(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TP10yBgu; +class PASCALIMPLEMENTATION TP10yBgu : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TP10yBgu(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TP10yBgu(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TP10; +class PASCALIMPLEMENTATION TP10 : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TP10(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TP10(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TFR513; +class PASCALIMPLEMENTATION TFR513 : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TFR513(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TFR513(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TFR510; +class PASCALIMPLEMENTATION TFR510 : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TFR510(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TFR510(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TCosid; +class PASCALIMPLEMENTATION TCosid : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TCosid(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TCosid(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TDisk1; +class PASCALIMPLEMENTATION TDisk1 : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TDisk1(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TDisk1(void) { } + #pragma option pop + +}; + + +class DELPHICLASS TDisk2; +class PASCALIMPLEMENTATION TDisk2 : public TFricMat +{ + typedef TFricMat inherited; + +public: + virtual double __fastcall GetFC(double N, double Vel); +public: + #pragma option push -w-inl + /* TObject.Create */ inline __fastcall TDisk2(void) : TFricMat() { } + #pragma option pop + #pragma option push -w-inl + /* TObject.Destroy */ inline __fastcall virtual ~TDisk2(void) { } + #pragma option pop + +}; + + +//-- var, const, procedure --------------------------------------------------- + +} /* namespace Friction */ +#if !defined(NO_IMPLICIT_NAMESPACE_USE) +using namespace Friction; +#endif +#pragma option pop // -w- +#pragma option pop // -Vx + +#pragma delphiheader end. +//-- end unit ---------------------------------------------------------------- +#endif // friction diff --git a/McZapkie/hamulce.h b/McZapkie/hamulce.h index f46a4d68..97637932 100644 --- a/McZapkie/hamulce.h +++ b/McZapkie/hamulce.h @@ -35,13 +35,12 @@ H14K1 (zasadniczy), H1405 (pomocniczy), St113 (ep) Knorr/West EP - żeby był */ -#include // Pascal unit +#include "friction.h" // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit -using namespace Friction; namespace Hamulce { diff --git a/McZapkie/hamulce.hpp b/McZapkie/hamulce.hpp index 4deb23de..19986fd1 100644 --- a/McZapkie/hamulce.hpp +++ b/McZapkie/hamulce.hpp @@ -10,7 +10,7 @@ #pragma delphiheader begin #pragma option push -w- #pragma option push -Vx -#include // Pascal unit +#include // Pascal unit #include // Pascal unit #include // Pascal unit #include // Pascal unit