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

Remove not needed casts, variables and switch from double precission to float precission for some angle vectors

This commit is contained in:
docentYT
2026-04-28 00:51:17 +02:00
parent cba106e22e
commit 623c4f827e
15 changed files with 44 additions and 49 deletions

View File

@@ -172,7 +172,7 @@ void TCamera::Update()
|| ( true == DebugCameraFlag ) ) {
// free movement position update
auto movement { Velocity };
movement = RotateY(movement, Angle.y);
movement = RotateY(movement, (double)Angle.y);
Pos += movement * 5.0 * deltatime;
}
else {
@@ -195,7 +195,7 @@ void TCamera::Update()
movement.y = -movement.y;
}
*/
movement = RotateY(movement, Angle.y);
movement = RotateY(movement, (double)Angle.y);
m_owneroffset += movement * deltatime;
}
@@ -203,19 +203,16 @@ void TCamera::Update()
bool TCamera::SetMatrix( glm::dmat4 &Matrix ) {
Matrix = glm::rotate( Matrix, -Angle.z, glm::dvec3( 0.0, 0.0, 1.0 ) ); // po wyłączeniu tego kręci się pojazd, a sceneria nie
Matrix = glm::rotate( Matrix, -Angle.x, glm::dvec3( 1.0, 0.0, 0.0 ) );
Matrix = glm::rotate( Matrix, -Angle.y, glm::dvec3( 0.0, 1.0, 0.0 ) ); // w zewnętrznym widoku: kierunek patrzenia
Matrix = glm::rotate(Matrix, -(double)Angle.x, glm::dvec3(1, 0, 0));
Matrix = glm::rotate(Matrix, -(double)Angle.y, glm::dvec3(0, 1, 0)); // w zewnętrznym widoku: kierunek patrzenia
Matrix = glm::rotate(Matrix, -(double)Angle.z, glm::dvec3(0, 0, 1)); // po wyłączeniu tego kręci się pojazd, a sceneria nie
if( ( m_owner != nullptr ) && ( false == DebugCameraFlag ) ) {
Matrix *= glm::lookAt(
glm::dvec3{ Pos },
glm::dvec3{ LookAt },
glm::dvec3{ vUp } );
Matrix *= glm::lookAt(Pos, glm::dvec3{ LookAt }, glm::dvec3{ vUp } );
}
else {
Matrix = glm::translate( Matrix, glm::dvec3{ -Pos } ); // nie zmienia kierunku patrzenia
Matrix = glm::translate( Matrix, -Pos ); // nie zmienia kierunku patrzenia
}
return true;

View File

@@ -25,7 +25,7 @@ class TCamera {
bool SetMatrix(glm::dmat4 &Matrix);
void RaLook();
glm::dvec3 Angle; // pitch, yaw, roll
glm::vec3 Angle; // pitch, yaw, roll
glm::dvec3 Pos; // współrzędne obserwatora
glm::vec3 LookAt; // współrzędne punktu, na który ma patrzeć
glm::vec3 vUp;
@@ -36,7 +36,7 @@ class TCamera {
private:
glm::dvec3 m_moverate;
glm::dvec3 m_rotationoffsets; // requested changes to pitch, yaw and roll
glm::vec3 m_rotationoffsets; // requested changes to pitch, yaw and roll
};

View File

@@ -1511,11 +1511,11 @@ void TDynamicObject::ABuBogies()
// [rad]
// bogieRot[0].z=ABuAcos(Axle0.pPosition-Axle3.pPosition);
bogieRot[0].z = Axle0.vAngles.z;
bogieRot[0] = RadToDeg(modelRot - bogieRot[0]); // mnożenie wektora przez stałą
bogieRot[0] = glm::degrees(modelRot - bogieRot[0]); // mnożenie wektora przez stałą
smBogie[0]->SetRotateXYZ(bogieRot[0]);
// bogieRot[1].z=ABuAcos(Axle2.pPosition-Axle1.pPosition);
bogieRot[1].z = Axle1.vAngles.z;
bogieRot[1] = RadToDeg(modelRot - bogieRot[1]);
bogieRot[1] = glm::degrees(modelRot - bogieRot[1]);
smBogie[1]->SetRotateXYZ(bogieRot[1]);
}
};
@@ -3220,7 +3220,7 @@ bool TDynamicObject::Update(double dt, double dt1)
ErrorLog(
"Bad traction: " + MoverParameters->Name
+ " lost power for " + to_string( NoVoltTime, 2 ) + " sec. at "
+ to_string( glm::dvec3{ vPosition } ) );
+ to_string(vPosition) );
}
}
}
@@ -3658,7 +3658,7 @@ bool TDynamicObject::Update(double dt, double dt1)
glm::dvec3 old_pos = vPosition;
Move(dDOMoveLen);
m_future_movement = (glm::dvec3(vPosition) - old_pos) / dt1 * Timer::GetDeltaRenderTime();
m_future_movement = (vPosition - old_pos) / dt1 * Timer::GetDeltaRenderTime();
if (!bEnabled) // usuwane pojazdy nie mają toru
{ // pojazd do usunięcia
@@ -8141,7 +8141,7 @@ TDynamicObject::update_shake( double const Timedelta ) {
}
shake *= 0.85;
ShakeState.velocity -= ( shake + ShakeState.velocity * 100.0 ) * ( BaseShake.jolt_scale.x + BaseShake.jolt_scale.y + BaseShake.jolt_scale.z ) / ( 200.0 );
ShakeState.velocity -= ( shake + ShakeState.velocity * 100.0 ) * (double)( BaseShake.jolt_scale.x + BaseShake.jolt_scale.y + BaseShake.jolt_scale.z ) / ( 200.0 );
// McZapkie:
ShakeState.offset += ShakeState.velocity * Timedelta;
@@ -8748,7 +8748,7 @@ vehicle_table::update_traction( TDynamicObject *Vehicle ) {
auto const vFront = glm::make_vec3( glm::value_ptr(Vehicle->VectorFront()) ); // wektor normalny dla płaszczyzny ruchu pantografu
auto const vUp = glm::make_vec3( glm::value_ptr(Vehicle->VectorUp()) ); // wektor pionu pudła (pochylony od pionu na przechyłce)
auto const vLeft = glm::make_vec3( glm::value_ptr(Vehicle->VectorLeft()) ); // wektor odległości w bok (odchylony od poziomu na przechyłce)
auto const position = glm::dvec3 { Vehicle->GetPosition() }; // współrzędne środka pojazdu
auto const position = Vehicle->GetPosition(); // współrzędne środka pojazdu
for( int pantographindex = 0; pantographindex < Vehicle->iAnimType[ ANIM_PANTS ]; ++pantographindex ) {
// pętla po pantografach

View File

@@ -204,7 +204,7 @@ public:
TTrackFollower Axle1; // oś z tyłu (od sprzęgu 1)
int iAxleFirst; // numer pierwszej osi w kierunku ruchu (oś wiążąca pojazd z torem i wyzwalająca eventy)
float fAxleDist; // rozstaw wózków albo osi do liczenia proporcji zacienienia
glm::dvec3 modelRot; // obrot pudła względem świata - do przeanalizowania, czy potrzebne!!!
glm::vec3 modelRot; // obrot pudła względem świata - do przeanalizowania, czy potrzebne!!!
TDynamicObject * ABuFindNearestObject(glm::vec3 pos, TTrack *Track, TDynamicObject *MyPointer, int &CouplNr );
glm::dvec3 m_future_movement;
@@ -304,7 +304,7 @@ private:
void toggle_lights(); // switch light levels for registered interior sections
private: // Ra: ciąg dalszy animacji, dopiero do ogarnięcia
// ABuWozki 060504
glm::dvec3 bogieRot[2]; // Obroty wozkow w/m korpusu
glm::vec3 bogieRot[2]; // Obroty wozkow w/m korpusu
TSubModel *smBogie[2]; // Wyszukiwanie max 2 wozkow
TSubModel *smWahacze[4]; // wahacze (np. nogi, dźwignia w drezynie)
TSubModel *smBrakeMode; // Ra 15-01: nastawa hamulca też
@@ -834,8 +834,8 @@ public:
std::pair<double, double> shake_angles() const;
// members
struct baseshake_config {
glm::dvec3 angle_scale { 0.05, 0.0, 0.1 }; // roll, yaw, pitch
glm::dvec3 jolt_scale{0.2, 0.2, 0.1};
glm::vec3 angle_scale { 0.05, 0.0, 0.1 }; // roll, yaw, pitch
glm::vec3 jolt_scale{0.2, 0.2, 0.1};
double jolt_limit { 2.0f };
} BaseShake;
struct engineshake_config {