From 8940811bd5cfcdb88235242ea182bd3a5c9d88f3 Mon Sep 17 00:00:00 2001 From: John Collins Date: Wed, 24 Apr 2024 19:29:57 -0700 Subject: [PATCH] save --- src/manifold/src/manifold.cpp | 10 ++++------ test/manifold_test.cpp | 4 +++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/manifold/src/manifold.cpp b/src/manifold/src/manifold.cpp index 4d9d964dd..745d3ceb5 100644 --- a/src/manifold/src/manifold.cpp +++ b/src/manifold/src/manifold.cpp @@ -529,14 +529,10 @@ std::vector Manifold::surfaceMap(const std::vector& tr for (int halfEdgeIdx : edges) { glm::vec3 startVert = vertPos[halfedges[halfEdgeIdx].startVert]; glm::vec3 endVert = vertPos[halfedges[halfEdgeIdx].endVert]; - // cout << "startVert: " << startVert.x << " " << startVert.y << " " << startVert.z << endl; - // cout << "endVert: " << endVert.x << " " << endVert.y << " " << endVert.z << endl; - // cout << "tfPos: " << tfPos.x << " " << tfPos.y << " " << tfPos.z << endl; - // cout << "tfDirX" << tfDirX.x << " " << tfDirX.y << " " << tfDirX.z << endl; float intersectDist = intersectionDistance(tfPos, tfDirX, startVert, glm::normalize(endVert - startVert), faceNormal); if (intersectDist > 0.0001 && intersectDist < std::numeric_limits::max() && intersectDist < minDistance) { - cout << "minDistance: " << minDistance << " intersectDist: " << intersectDist << endl; + cout << "minDistance: " << minDistance << ", intersectDist: " << intersectDist << endl; minDistance = intersectDist; nearestHalfEdgeIdx = halfEdgeIdx; found = true; @@ -551,8 +547,9 @@ std::vector Manifold::surfaceMap(const std::vector& tr currTf = MatrixTransforms::TranslateX(currTf, minDistance); result.push_back(currTf); currHalfedgeIdx = halfedges[nnextHalfedgeIdx].pairedHalfedge; - cout << "halfedge idx: " << currHalfedgeIdx << endl; currManifoldDist += minDistance; + currTfIdx += 1; + currTf = transforms[currTfIdx]; } else { cout << "next TF on current face" << endl; cout << "currManifoldDist: " << currManifoldDist << " minDistance: " << minDistance << " currTfDist: " << currTfDist << endl; @@ -564,6 +561,7 @@ std::vector Manifold::surfaceMap(const std::vector& tr } } while (currTfIdx < transforms.size() - 1); + result.push_back(transforms[transforms.size() - 1]); for (auto& tf: result) { cout << "tf pos: " << tf[3].x << " " << tf[3].y << " " << tf[3].z << endl; } diff --git a/test/manifold_test.cpp b/test/manifold_test.cpp index b419c4636..be932d8c9 100644 --- a/test/manifold_test.cpp +++ b/test/manifold_test.cpp @@ -204,7 +204,9 @@ TEST(Manifold, surfaceMap) { glm::mat4x3 transform1 = {{1, 0, 0}, {0, 0, 1}, {0, -1, 0}, {1.65, 0, 5}}; glm::mat4x3 transform2 = {{1, 0, 0}, {0, 0, 1}, {0, -1, 0}, {7.0, 0, 5}}; glm::mat4x3 transform3 = {{1, 0, 0}, {0, 0, 1}, {0, -1, 0}, {9.0, 0, 5}}; - vector ret = cube.surfaceMap({transform1, transform2, transform3}); + glm::mat4x3 transform4 = {{1, 0, 0}, {0, 0, 1}, {0, -1, 0}, {9.5, 0, 5}}; + glm::mat4x3 transform5 = {{1, 0, 0}, {0, 0, 1}, {0, -1, 0}, {9.8, 0, 5}}; + vector ret = cube.surfaceMap({transform1, transform2, transform3, transform4, transform5}); } Polygons RotatePolygons(Polygons polys, const int index) {