diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2024-06-01 14:02:42 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2024-06-01 14:02:42 +0100 |
commit | 519ebadf219ef3b6b75dd84842ef5b56589c4c3b (patch) | |
tree | 591fa2783d4d579325662da42dcdbb7fb9f55d74 | |
parent | Fix setting of pedantic warnings (diff) | |
download | ilt-519ebadf219ef3b6b75dd84842ef5b56589c4c3b.tar.bz2 ilt-519ebadf219ef3b6b75dd84842ef5b56589c4c3b.tar.xz ilt-519ebadf219ef3b6b75dd84842ef5b56589c4c3b.zip |
Remove conflicting glm::vec operators
% and %= already exist and abusing them for simplifying perspective
multiplication was always a bad idea. Here they just become named
functions.
-rw-r--r-- | assetFactory/faceController.cpp | 2 | ||||
-rw-r--r-- | assetFactory/use.cpp | 2 | ||||
-rw-r--r-- | lib/maths.h | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/assetFactory/faceController.cpp b/assetFactory/faceController.cpp index 10a0c1e..3f75b38 100644 --- a/assetFactory/faceController.cpp +++ b/assetFactory/faceController.cpp @@ -53,7 +53,7 @@ FaceController::extrude(ModelFactoryMesh & mesh, const std::string & faceName, O // create new vertices const auto vertices = baseVertices * [&mesh, mutation = getMatrix(), centre = mesh.calc_face_centroid(faceHandle)](auto && v) { - return mesh.add_vertex(centre + ((mesh.point(v) - centre) % mutation)); + return mesh.add_vertex(centre + perspectiveMultiply((mesh.point(v) - centre), mutation)); }; // get new faces names const auto vertexCount = baseVertices.size(); diff --git a/assetFactory/use.cpp b/assetFactory/use.cpp index d5ea39d..42bc703 100644 --- a/assetFactory/use.cpp +++ b/assetFactory/use.cpp @@ -15,7 +15,7 @@ Use::createMesh(ModelFactoryMesh & mesh, Scale3D levelOfDetailFactor) const const auto fvr = mesh.fv_range(f.second); for (const auto & v : fvr) { if (!vs.contains(v)) { - mesh.point(v) %= m; + perspectiveApply(mesh.point(v), m); vs.insert(v); } } diff --git a/lib/maths.h b/lib/maths.h index 63b752a..018ef0e 100644 --- a/lib/maths.h +++ b/lib/maths.h @@ -176,7 +176,7 @@ operator||(const glm::vec<L, T, Q> v1, const T v2) template<glm::length_t L, typename T, glm::qualifier Q> inline constexpr glm::vec<L, T, Q> -operator%(const glm::vec<L, T, Q> & p, const glm::mat<L + 1, L + 1, T, Q> & mutation) +perspectiveMultiply(const glm::vec<L, T, Q> & p, const glm::mat<L + 1, L + 1, T, Q> & mutation) { const auto p2 = mutation * (p || T(1)); return p2 / p2.w; @@ -184,9 +184,9 @@ operator%(const glm::vec<L, T, Q> & p, const glm::mat<L + 1, L + 1, T, Q> & muta template<glm::length_t L, typename T, glm::qualifier Q> inline constexpr glm::vec<L, T, Q> -operator%=(glm::vec<L, T, Q> & p, const glm::mat<L + 1, L + 1, T, Q> & mutation) +perspectiveApply(glm::vec<L, T, Q> & p, const glm::mat<L + 1, L + 1, T, Q> & mutation) { - return p = p % mutation; + return p = perspectiveMultiply(p, mutation); } float normalize(float ang); |