From 7081dab3c201ba30b234fe48463d1a491d78fa6c Mon Sep 17 00:00:00 2001 From: docentYT <63965954+docentYT@users.noreply.github.com> Date: Sat, 2 May 2026 14:51:13 +0200 Subject: [PATCH] Replace RadToDeg and DegToRad with glm::degrees and glm::radians --- application/drivermode.cpp | 4 ++-- model/Model3d.cpp | 8 ++++---- utilities/utilities.h | 3 --- vehicle/DynObj.cpp | 12 ++++++------ world/Track.cpp | 14 +++++++------- 5 files changed, 19 insertions(+), 22 deletions(-) diff --git a/application/drivermode.cpp b/application/drivermode.cpp index 1e4c5816..9efb88ea 100644 --- a/application/drivermode.cpp +++ b/application/drivermode.cpp @@ -928,8 +928,8 @@ void driver_mode::OnKeyDown(int cKey) Global.FreeCameraInitAngle[i] = Camera.Angle; // logowanie, żeby można było do scenerii przepisać WriteLog("camera " + std::to_string(Global.FreeCameraInit[i].x) + " " + std::to_string(Global.FreeCameraInit[i].y) + " " + std::to_string(Global.FreeCameraInit[i].z) + " " + - std::to_string(RadToDeg(Global.FreeCameraInitAngle[i].x)) + " " + std::to_string(RadToDeg(Global.FreeCameraInitAngle[i].y)) + " " + - std::to_string(RadToDeg(Global.FreeCameraInitAngle[i].z)) + " " + std::to_string(i) + " endcamera"); + std::to_string(glm::degrees(Global.FreeCameraInitAngle[i].x)) + " " + std::to_string(glm::degrees(Global.FreeCameraInitAngle[i].y)) + " " + + std::to_string(glm::degrees(Global.FreeCameraInitAngle[i].z)) + " " + std::to_string(i) + " endcamera"); } else // również przeskakiwanie { // Ra: to z tą kamerą (Camera.Pos i Global.pCameraPosition) jest trochę bez sensu diff --git a/model/Model3d.cpp b/model/Model3d.cpp index ac3f9f3b..b483d16e 100644 --- a/model/Model3d.cpp +++ b/model/Model3d.cpp @@ -381,11 +381,11 @@ std::pair TSubModel::Load(cParser &parser, bool dynamic) // convert conve parameters if specified in degrees if (fCosFalloffAngle > 1.0) { - fCosFalloffAngle = std::cos(DegToRad(0.5f * fCosFalloffAngle)); + fCosFalloffAngle = std::cos(glm::radians(0.5f * fCosFalloffAngle)); } if (fCosHotspotAngle > 1.0) { - fCosHotspotAngle = std::cos(DegToRad(0.5f * fCosHotspotAngle)); + fCosHotspotAngle = std::cos(glm::radians(0.5f * fCosHotspotAngle)); } m_geometry.vertex_count = 1; iFlags |= 0x4030; // drawn both in solid (light point) and transparent (light glare) phases @@ -2313,11 +2313,11 @@ void TSubModel::BinInit(TSubModel *s, float4x4 *m, std::vector *t, // intercept and fix hotspot values if specified in degrees and not directly if (fCosFalloffAngle > 1.0f) { - fCosFalloffAngle = std::cos(DegToRad(0.5f * fCosFalloffAngle)); + fCosFalloffAngle = std::cos(glm::radians(0.5f * fCosFalloffAngle)); } if (fCosHotspotAngle > 1.0f) { - fCosHotspotAngle = std::cos(DegToRad(0.5f * fCosHotspotAngle)); + fCosHotspotAngle = std::cos(glm::radians(0.5f * fCosHotspotAngle)); } // cap specular values for legacy models f4Specular = glm::vec4{std::clamp(f4Specular.r, 0.0f, 1.0f), std::clamp(f4Specular.g, 0.0f, 1.0f), std::clamp(f4Specular.b, 0.0f, 1.0f), std::clamp(f4Specular.a, 0.0f, 1.0f)}; diff --git a/utilities/utilities.h b/utilities/utilities.h index 6c0b9d2b..73754f58 100644 --- a/utilities/utilities.h +++ b/utilities/utilities.h @@ -20,9 +20,6 @@ template T sign(T x) return x < static_cast(0) ? static_cast(-1) : (x > static_cast(0) ? static_cast(1) : static_cast(0)); } -#define DegToRad(a) ((M_PI / 180.0) * (a)) //(a) w nawiasie, bo może być dodawaniem -#define RadToDeg(r) ((180.0 / M_PI) * (r)) - template constexpr T sq(T v) { return v * v; diff --git a/vehicle/DynObj.cpp b/vehicle/DynObj.cpp index 0b64368e..63df5603 100644 --- a/vehicle/DynObj.cpp +++ b/vehicle/DynObj.cpp @@ -81,7 +81,7 @@ void TAnimPant::AKP_4E() // ramienia fHeight = 0.07; // wysokość ślizgu ponad oś obrotu fWidth = 0.635; // połowa szerokości ślizgu, 0.635 dla AKP-1 i AKP-4E - fAngleL0 = DegToRad(2.8547285515689267247882521833308); + fAngleL0 = glm::radians(2.8547285515689267247882521833308); fAngleL = fAngleL0; // początkowy kąt dolnego ramienia // fAngleU0=acos((1.22*cos(fAngleL)+0.535)/1.755); //górne ramię fAngleU0 = acos((fLenL1 * cos(fAngleL) + fHoriz) / fLenU1); // górne ramię @@ -115,7 +115,7 @@ void TAnimPant::WBL85() // osi obrotu dolnego ramienia fHeight = 0.09353; // wysokość ślizgu ponad oś obrotu fWidth = 0.4969; // połowa szerokości ślizgu - fAngleL0 = DegToRad(2.8547285515689267247882521833308); + fAngleL0 = glm::radians(2.8547285515689267247882521833308); fAngleL = fAngleL0; // początkowy kąt dolnego ramienia // fAngleU0=acos((1.22*cos(fAngleL)+0.535)/1.755); //górne ramię fAngleU0 = acos((fLenL1 * cos(fAngleL) + fHoriz) / fLenU1); // górne ramię @@ -149,7 +149,7 @@ void TAnimPant::EC160_200() // osi obrotu dolnego ramienia fHeight = 0.09353; // wysokość ślizgu ponad oś obrotu fWidth = 0.4969; // połowa szerokości ślizgu - fAngleL0 = DegToRad(2.8547285515689267247882521833308); + fAngleL0 = glm::radians(2.8547285515689267247882521833308); fAngleL = fAngleL0; // początkowy kąt dolnego ramienia // fAngleU0=acos((1.22*cos(fAngleL)+0.535)/1.755); //górne ramię fAngleU0 = acos((fLenL1 * cos(fAngleL) + fHoriz) / fLenU1); // górne ramię @@ -183,7 +183,7 @@ void TAnimPant::DSAx() // osi obrotu dolnego ramienia fHeight = 0.09353; // wysokość ślizgu ponad oś obrotu fWidth = 0.4969; // połowa szerokości ślizgu - fAngleL0 = DegToRad(2.8547285515689267247882521833308); + fAngleL0 = glm::radians(2.8547285515689267247882521833308); fAngleL = fAngleL0; // początkowy kąt dolnego ramienia // fAngleU0=acos((1.22*cos(fAngleL)+0.535)/1.755); //górne ramię fAngleU0 = acos((fLenL1 * cos(fAngleL) + fHoriz) / fLenU1); // górne ramię @@ -697,8 +697,8 @@ void TDynamicObject::UpdateDoorPlug(TAnim *pAnim) { void TDynamicObject::UpdatePant(TAnim *pAnim) { // animacja pantografu - 4 obracane ramiona, ślizg piąty float a, b, c; - a = RadToDeg(pAnim->fParamPants->fAngleL - pAnim->fParamPants->fAngleL0); - b = RadToDeg(pAnim->fParamPants->fAngleU - pAnim->fParamPants->fAngleU0); + a = glm::degrees(pAnim->fParamPants->fAngleL - pAnim->fParamPants->fAngleL0); + b = glm::degrees(pAnim->fParamPants->fAngleU - pAnim->fParamPants->fAngleU0); c = a + b; if (pAnim->smElement[0]) pAnim->smElement[0]->SetRotate(float3(-1, 0, 0), a); // dolne ramie 1 diff --git a/world/Track.cpp b/world/Track.cpp index 4bf38f29..6c44059b 100644 --- a/world/Track.cpp +++ b/world/Track.cpp @@ -248,20 +248,20 @@ TTrack * TTrack::NullCreate(int dir) p1 = Segment->FastGetPoint_0(); p2 = p1 - 450.0 * glm::normalize(Segment->GetDirection1()); // bo prosty, kontrolne wyliczane przy zmiennej przechyłce - trk->Segment->Init(p1, p2, 5, -RadToDeg(r1), 70.0); + trk->Segment->Init(p1, p2, 5, -glm::degrees(r1), 70.0); ConnectPrevPrev(trk, 0); break; case 1: p1 = Segment->FastGetPoint_1(); p2 = p1 - 450.0 * glm::normalize(Segment->GetDirection2()); // bo prosty, kontrolne wyliczane przy zmiennej przechyłce - trk->Segment->Init(p1, p2, 5, RadToDeg(r2), 70.0); + trk->Segment->Init(p1, p2, 5, glm::degrees(r2), 70.0); ConnectNextPrev(trk, 0); break; case 3: // na razie nie możliwe p1 = SwitchExtension->Segments[1]->FastGetPoint_1(); // koniec toru drugiego zwrotnicy p2 = p1 - 450.0 * glm::normalize(SwitchExtension->Segments[1]->GetDirection2()); // przedłużenie na wprost - trk->Segment->Init(p1, p2, 5, RadToDeg(r2), 70.0); // bo prosty, kontrolne wyliczane przy zmiennej przechyłce + trk->Segment->Init(p1, p2, 5, glm::degrees(r2), 70.0); // bo prosty, kontrolne wyliczane przy zmiennej przechyłce ConnectNextPrev(trk, 0); // trk->ConnectPrevNext(trk,dir); SetConnections(1); // skopiowanie połączeń @@ -290,10 +290,10 @@ TTrack * TTrack::NullCreate(int dir) cv1 = -20.0 * glm::normalize(Segment->GetDirection1()); // pierwszy wektor kontrolny p2 = p1 + cv1 + cv1; // 40m // bo prosty, kontrolne wyliczane przy zmiennej przechyłce - trk->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(-cv1.z, cv1.y, cv1.x), p2, 2, -RadToDeg(r1), 0.0); + trk->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(-cv1.z, cv1.y, cv1.x), p2, 2, -glm::degrees(r1), 0.0); ConnectPrevPrev(trk, 0); // bo prosty, kontrolne wyliczane przy zmiennej przechyłce - trk2->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(cv1.z, cv1.y, -cv1.x), p2, 2, -RadToDeg(r1), 0.0); + trk2->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(cv1.z, cv1.y, -cv1.x), p2, 2, -glm::degrees(r1), 0.0); trk2->iPrevDirection = 0; // zwrotnie do tego samego odcinka break; case 1: @@ -301,10 +301,10 @@ TTrack * TTrack::NullCreate(int dir) cv1 = -20.0 * glm::normalize(Segment->GetDirection2()); // pierwszy wektor kontrolny p2 = p1 + cv1 + cv1; // bo prosty, kontrolne wyliczane przy zmiennej przechyłce - trk->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(-cv1.z, cv1.y, cv1.x), p2, 2, RadToDeg(r2), 0.0); + trk->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(-cv1.z, cv1.y, cv1.x), p2, 2, glm::degrees(r2), 0.0); ConnectNextPrev(trk, 0); // bo prosty, kontrolne wyliczane przy zmiennej przechyłce - trk2->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(cv1.z, cv1.y, -cv1.x), p2, 2, RadToDeg(r2), 0.0); + trk2->Segment->Init(p1, p1 + cv1, p2 + glm::dvec3(cv1.z, cv1.y, -cv1.x), p2, 2, glm::degrees(r2), 0.0); trk2->iPrevDirection = 1; // zwrotnie do tego samego odcinka break; }