Repository navigation
Update bindings to CDT 2.0.0 - #13
Merged
Merged
Conversation
Bind the refinement API added in CDT 2.0.0: refine_triangles(), find_encroached_fixed_edges(), find_unrefined_triangles(), the collect_* methods, finalize_triangulation(), RefinementCriterion and Unrefined. Also bind verify_winding(), deg_to_rad(), area(), circumcenter(), smallest_angle() and Edge's new operator< as __lt__. refine_triangles() takes the triangles to erase as a set and updates it in place, as the C++ TriIndUSet* in/out parameter does.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update the CDT submodule to 2.0.0 (latest commit) and bind the new API.
Bindings
Refinement:
refine_triangles(),find_unrefined_triangles(),find_encroached_fixed_edges()collect_super_triangle(),collect_outer_triangles(),collect_outer_triangles_and_holes(),finalize_triangulation()RefinementCriterionenum,UnrefinedcountsOther:
verify_winding()deg_to_rad(),area(),circumcenter(),smallest_angle()Edge.__lt__(CDT 2.0.0 addedEdge::operator<)refine_triangles()takes the triangles to erase as asetand updates it in place, like the C++TriIndUSet*in/out parameter. A non-set raisesTypeError, so the marks can not be lost silently.Tests
9 new tests: both refinement criteria are fulfilled, zero threshold is a no-op, the vertex budget is respected, a sharp input corner is reported, refining and collecting fail on a finalized triangulation, winding verification, triangle geometry, edge ordering.
All existing checksums are unchanged.
README
UsagebecomesUsage exampleswith one example per workflow: constrained, conforming, refined. Each has its own notes.The example input is now a closed square boundary. The old one had a single diagonal edge, so the conforming and refined examples produced an empty triangulation.
sccolbertadded to contributors for #11.