Skip to content

Update bindings to CDT 2.0.0 - #13

Merged
artem-ogre merged 1 commit into
masterfrom
update-cdt-2.0.0
Sep 20, 2026
Merged

artem-ogre merged 1 commit into
masterfrom
update-cdt-2.0.0

Conversation

@artem-ogre

Copy link
Copy Markdown
Owner

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()
  • RefinementCriterion enum, Unrefined counts

Other:

  • verify_winding()
  • deg_to_rad(), area(), circumcenter(), smallest_angle()
  • Edge.__lt__ (CDT 2.0.0 added Edge::operator<)

refine_triangles() takes the triangles to erase as a set and updates it in place, like the C++ TriIndUSet* in/out parameter. A non-set raises TypeError, 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

Usage becomes Usage examples with 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.

sccolbert added to contributors for #11.

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.
@artem-ogre artem-ogre self-assigned this Sep 20, 2026
@artem-ogre
artem-ogre merged commit 30f955d into master Sep 20, 2026
6 checks passed
@artem-ogre artem-ogre mentioned this pull request Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant