diff --git a/core/src/objects/part/part.cpp b/core/src/objects/part/part.cpp index e95059f..0b4839f 100644 --- a/core/src/objects/part/part.cpp +++ b/core/src/objects/part/part.cpp @@ -1,6 +1,5 @@ #include "part.h" #include "enum/part.h" -#include "physics/util.h" #include Part::Part(): BasePart(&TYPE) { diff --git a/core/src/objects/part/wedgepart.cpp b/core/src/objects/part/wedgepart.cpp index b98781e..5795e1b 100644 --- a/core/src/objects/part/wedgepart.cpp +++ b/core/src/objects/part/wedgepart.cpp @@ -1,5 +1,4 @@ #include "wedgepart.h" -// #include "physics/util.h" // #include // #include diff --git a/core/src/objects/service/workspace.cpp b/core/src/objects/service/workspace.cpp index 810bc8b..693d6c0 100644 --- a/core/src/objects/service/workspace.cpp +++ b/core/src/objects/service/workspace.cpp @@ -9,7 +9,6 @@ #include "objects/service/jointsservice.h" #include "objects/joint/jointinstance.h" #include "objects/datamodel.h" -#include "physics/util.h" #include "timeutil.h" #include diff --git a/core/src/physics/util.h b/core/src/physics/util.h deleted file mode 100644 index b2c4936..0000000 --- a/core/src/physics/util.h +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include "objects/part/part.h" - -namespace rp = reactphysics3d; - -inline rp::Vector3 glmToRp(glm::vec3 vec) { - return rp::Vector3(vec.x, vec.y, vec.z); -} - -inline rp::Quaternion glmToRp(glm::quat quat) { - return rp::Quaternion(quat.w, rp::Vector3(quat.x, quat.y, quat.z)); -} - -// inline rp::Matrix3x3 glmToRp(glm::mat3 mat) { -// return (rp::Quaternion)glmToRp((glm::quat)mat); -// } - -inline glm::vec3 rpToGlm(rp::Vector3 vec) { - return glm::vec3(vec.x, vec.y, vec.z); -} - -inline glm::quat rpToGlm(rp::Quaternion quat) { - return glm::quat(quat.w, quat.x, quat.y, quat.z); -} - -// Make this std::optional -inline std::shared_ptr partFromBody(rp::Body* body) { - BasePart* raw = reinterpret_cast(body->getUserData()); - std::shared_ptr shared = std::dynamic_pointer_cast(raw->shared_from_this()); - return shared; -} \ No newline at end of file diff --git a/core/src/physics/world.cpp b/core/src/physics/world.cpp index 004be7d..85ea759 100644 --- a/core/src/physics/world.cpp +++ b/core/src/physics/world.cpp @@ -3,8 +3,8 @@ #include "datatypes/vector.h" #include "objects/joint/jointinstance.h" #include "objects/part/basepart.h" +#include "objects/part/part.h" #include "physics/convert.h" -#include "physics/util.h" #include #include #include @@ -176,7 +176,7 @@ class NearestRayHit : public rp::RaycastCallback { return 1; } - std::shared_ptr part = partFromBody(raycastInfo.body); + std::shared_ptr part = (raycastInfo.body && raycastInfo.body->getUserData() != nullptr) ? reinterpret_cast(raycastInfo.body->getUserData())->shared() : nullptr; FilterResult result = filter.value()(part); if (result == FilterResult::BLOCK) { nearestHit = std::nullopt; diff --git a/editor/mainglwidget.cpp b/editor/mainglwidget.cpp index 8f03a04..f079544 100755 --- a/editor/mainglwidget.cpp +++ b/editor/mainglwidget.cpp @@ -20,7 +20,6 @@ #include "objects/pvinstance.h" #include "objects/service/selection.h" #include "partassembly.h" -#include "physics/util.h" #include "rendering/renderer.h" #include "rendering/shader.h" #include "datatypes/variant.h"