-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Added Project() #638
Added Project() #638
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #638 +/- ##
==========================================
- Coverage 91.62% 91.58% -0.05%
==========================================
Files 36 36
Lines 4682 4693 +11
==========================================
+ Hits 4290 4298 +8
- Misses 392 395 +3 ☔ View full report in Codecov by Sentry. |
src/manifold/src/face_op.cpp
Outdated
@@ -194,17 +196,12 @@ void Manifold::Impl::Face2Tri(const Vec<int>& faceEdge, | |||
* For the input face index, return a set of 2D polygons formed by the input |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to update documentation
Yeah I envisioned this epsilon-valid issue when converting our 3D model into 2D, I think similar things will happen for slice as well. Not sure how clipper handles this. |
} | ||
glm::vec2 size = box.Size(); | ||
if (glm::abs(area) > glm::max(size.x, size.y) * epsilon) { | ||
filtered.push_back(poly); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is how I took care of the tiny sliver polygons we were getting in the bracelet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also went ahead and updated Clipper2 to the latest release - I didn't actually notice any difference, but they said they fixed some bugs and I don't think we were on a release at all before.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feel like we may want to add more simplification to CrossSection later. LGTM for now.
* added Project * updated Clipper2 to 1.3.0 * fix simplify to remove more cruft * update docs
Addresses one part of #426
Pretty simple algorithm. However, I'm getting lots of micro holes in the bracelet projection, probably from rounding errors, which are messing up the triangulation. I haven't determined if the CrossSection is actually epsilon-valid, and either way, I'm surprised that Clipper's positive fill rule isn't getting rid of them.