-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Add do_snap parameter to PMP::autorefine_triangle_soup #8744
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…umber type; tested with EPECK et EPICK
What do you think of |
do you suggest to create a new function |
renaming the named parameter, provided Mael thinks it is a better name too. |
I do not like an |
note that's a named parameter, not a free function |
there is already the named parameter : |
OK, but I also meant the function |
for that one it could be |
and PMP examples fully red https://cgal.geometryfactory.com/CGAL/testsuite/summary-6.1-Ic-91.html?package=Polygon_mesh_processing_Examples |
Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/autorefinement.h
Show resolved
Hide resolved
@@ -23,5 +23,7 @@ class PMPAutorefinementVisitor{ | |||
/// called for each subtriangle created from a triangle with intersection, `tgt_id` is the position in the triangle container after calling | |||
/// `autorefine_triangle_soup()` of the subtriangle, while `src_id` was the position of the original support triangle before calling the function. | |||
void new_subtriangle(std::size_t tgt_id, std::size_t src_id); | |||
/// called for each input triangle absent in the output because it was degenerate. `src_id` is the position of that triangle in the input range. Additionally, if `apply_iterative_snap_rounding()` is set to `true`, some extra triangles might become degenerate and will be absent in the output. Those triangles are also reported by this function. |
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.
Isn't this a breaking change?
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.
@sloriot If I understood correctly, the recommendation to the user is to have their visitor inherit from Default_visitor. If this is done, it is not a breaking change.
STL_Extension/include/CGAL/STL_Extension/internal/parameters_interface.h
Outdated
Show resolved
Hide resolved
namespace autorefine_impl | ||
{ | ||
|
||
// Certified ceil function for exact number types |
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.
@sloriot is that something of general interest and should go in number_utils or similar?
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
…nternal/triangle_soup_snap_rounding.h Co-authored-by: Andreas Fabri <[email protected]>
This pull-request was previously marked with the label |
…nternal/triangle_soup_snap_rounding.h Co-authored-by: Andreas Fabri <[email protected]>
…nternal/triangle_soup_snap_rounding.h Co-authored-by: Andreas Fabri <[email protected]>
Co-authored-by: Andreas Fabri <[email protected]>
..._mesh_processing/include/CGAL/Polygon_mesh_processing/internal/triangle_soup_snap_rounding.h
Outdated
Show resolved
Hide resolved
…nternal/triangle_soup_snap_rounding.h
Summary of Changes
The PR adds the
do_snap
parameter toautorefine_triangle_soup()
. When set totrue
, the coordinates are rounded to fit indouble
with additional subdivisions, preventing any self-intersections from occurring.Todo
Release Management