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