Jane Tournois
8e0ebb9a39
update status of border edges when removing a (degenerate) border face
2025-01-10 13:42:33 +00:00
Sébastien Loriot
cb3e182284
Merge remote-tracking branch 'cgal/5.6.x-branch' into HEAD
2024-12-23 09:38:35 +01:00
Sebastien Loriot
06fa730c75
Flip it if you can't collapse it ( #8609 )
...
if a needle is also a cap, it will be handled as a needle only. But if
we can't collapse the edge, a flip will not be tried. Try the flip too.
Note that this will slow down the method as the status of a triangle is
tested twice.
Fix #8605
2024-12-23 09:34:33 +01:00
Sebastien Loriot
b55bdc0103
Fix link to replacement function ( #8657 )
...
## Release Management
* Affected package(s): `Polygon_mesh_processing`
* Issue(s) solved (if any): -
* Feature/Small Feature (if any): -
* License and copyright ownership: no change
2024-12-23 09:33:22 +01:00
Sébastien Loriot
8bc0b888b8
clean up patch and make filling lazy
2024-12-18 11:42:10 +01:00
Sébastien Loriot
a6f7b3c163
WIP handle nested coplanar CC
2024-12-18 11:37:14 +01:00
Mael Rouxel-Labbé
4efaa1e9cb
Fix link to replacement function
2024-12-13 11:57:30 +01:00
Sébastien Loriot
3fa3568e6b
Merge remote-tracking branch 'cgal/5.6.x-branch' into cgal/6.0.x-branch
2024-12-10 16:32:33 +01:00
Sebastien Loriot
289a8bda49
`PMP::isotropic_remeshing()` - fix relaxation of constrained vertices ( #8604 )
...
## Summary of Changes
Constrained vertices, and constrained edges were not properly protected
during the smoothing step.
## Release Management
* Affected package(s): PMP
* Issue(s) solved (if any): fix #8388
* License and copyright ownership: unchanged
2024-12-10 16:30:25 +01:00
Sébastien Loriot
0737a8f99b
do not put all the faces of the mesh in the hash map
2024-12-10 15:58:53 +01:00
Sébastien Loriot
c3e4e32fb7
factorize cap checks
2024-12-10 15:37:53 +01:00
Sébastien Loriot
116c0ec5d9
only use one container for the next loop
...
--> make the output of the function idempotent
2024-12-10 15:18:24 +01:00
Mael Rouxel-Labbé
eb668da9ea
Misc cleaning
2024-12-07 23:34:23 +01:00
Mael Rouxel-Labbé
fda7b1ae6a
Avoid a lot of useless shape predicate calls
...
Here are some changes:
- Avoid a lot of redundant calls of is_it_a_needle / is_it_a_cap
- Do not test for cap-ness if it's already a needle
- Do not fill both ranges at the beginning, but fill
with everything: on the first round, needle-ness will
be tested, and the exit towards cap-ness will happen
- Wait for a needle to no longer be a needle, or not be
treatable to actually test cap-ness
- When the mesh is modified, do not test everything immediately,
just put them in the queue of the next iteration
Result: Fewer calls to shape predicates
- master -
needle calls = 828 668
cap calls = 803 330
- PR -
needle calls = 803 554
cap calls = 795 317
Should be fewer but two effects are balacing each other for the calls:
- much fewer calls to shape predicates (is_it_a_needle, is_it_a_cap)
by not calling until absolutely necessary (but still checking at pop time).
- when we modify the mesh, I no longer fill the CURRENT cap and needle
ranges, but the next ones. The point is to really prioritize all caps
BEFORE treating needles, whereas otherwise we would treat some needles
at the current iteration while there are still caps to treat.
So there are more iterations which add more useless calls (see below)
2024-12-07 23:31:57 +01:00
Mael Rouxel-Labbé
a4cb48a145
Fix never trying again a user-rejected cap
2024-12-07 23:29:04 +01:00
Mael Rouxel-Labbé
eb5ff9b33e
Fix collect_badly_shaped_triangles not actually filling both ranges
2024-12-07 23:28:20 +01:00
Sébastien Loriot
cac285d097
no need to redo new node propagation if it was already been done once
2024-12-06 17:19:01 +01:00
Sébastien Loriot
0b3c27e584
swap the parameters also here
2024-11-21 09:04:17 +01:00
Sébastien Loriot
41d37ac2a9
split badly shaped triangle check and delay the check calls
2024-11-20 09:40:13 +01:00
Sébastien Loriot
b60b203c56
add missing cap collection in case of non-collapsed edge
2024-11-20 09:11:48 +01:00
Jane Tournois
21e1ff113a
vertex is constrained if NOT allowed to move
2024-11-18 16:17:19 +01:00
Sébastien Loriot
c9c1770c18
in case an edge is both a cap and a needle but that is not collapsable try to flip
2024-11-14 11:54:48 +01:00
Jane Tournois
7462b70bec
remove unused
2024-11-12 14:01:30 +01:00
Jane Tournois
b8165f62de
add is_move_allowed(v) and use it in tangential_relaxation_impl()
2024-11-08 16:57:42 +01:00
Jane Tournois
ec1d43afbe
add constrained vertices to pmap
2024-11-08 16:11:11 +01:00
albert-github
dd02af92a2
issue #8515 Spelling mistakes found checking `en-GB` to `en-US`
...
Spelling corrections, `en-GB` -> `en-US`
2024-10-05 11:28:29 +02:00
Laurent Rineau
e1c1582c08
Merge pull request #8210 from janetournois/PMP-allow_move_example-jtournois
...
PMP isotropic_remeshing - add example using `allow_move_functor`
# Conflicts:
# Polygon_mesh_processing/doc/Polygon_mesh_processing/examples.txt
2024-09-27 11:49:59 +02:00
Jane Tournois
eabb4dc756
remove border degenerate faces, fixed
2024-08-26 10:21:41 +02:00
Jane Tournois
c7ce0e43b8
remove boundary degenerate faces
2024-08-26 10:06:08 +02:00
Sébastien Loriot
152fd4d74e
do no flip if creating a degenerate face
2024-08-20 17:25:32 +02:00
Sébastien Loriot
2577ecea27
fix initialization
...
bug introduced #7712
2024-07-05 13:01:45 +02:00
Laurent Rineau
a800918665
Merge pull request #8276 from sloriot/PMP-split_visitor_fwd
...
Forward the visitor for split
2024-06-13 12:48:47 +02:00
Laurent Rineau
6f4b598b6a
Merge pull request #8278 from albert-github/feature/bug_spell_20240511
...
Spelling correction
2024-06-13 12:48:43 +02:00
Laurent Rineau
212a323e4d
Merge pull request #8276 from sloriot/PMP-split_visitor_fwd
...
Forward the visitor for split
2024-06-13 12:48:22 +02:00
Laurent Rineau
ff6e9d262b
Merge pull request #8272 from sloriot/PMP-coref_use_size_type
...
Fix iteration on dynamic bit set
2024-06-12 10:06:06 +02:00
albert-github
c35a0a7f11
Spelling correction
...
Spelling correction due to updated dictionary.
(dictionary was updated after the previous spelling correction :-( )
2024-06-11 10:12:12 +02:00
Sébastien Loriot
4cd04080b3
forward the visitor
2024-06-11 09:08:33 +02:00
Sébastien Loriot
174a1d68e0
avoid potentially infinite loop
2024-06-10 15:07:25 +02:00
albert-github
36c8b7589d
Spelling corrections
...
Last batch (for now) of spelling corrections in doxygen and normal comments
2024-05-31 19:05:34 +02:00
Sébastien Loriot
279ddde799
more to core
2024-05-24 17:03:18 +02:00
Jane Tournois
de9eccf316
functor is not unary!
2024-05-17 15:41:29 +02:00
Laurent Rineau
022b19d3ca
Merge pull request #8057 from sloriot/AABB_tree-2d_and_3d
...
Updating the AABB-tree to work in both 2D and 3D
2024-05-15 16:12:19 +02:00
Laurent Rineau
0dcb83bff8
Merge pull request #8142 from sloriot/PMP-coref_nm_out
...
Add extra parameters to the corefinement visitor to handle non-manifold output
2024-05-15 16:12:16 +02:00
Laurent Rineau
02ad5d6003
Merge pull request #8150 from janetournois/PMP-isotropic_remeshing_with_allow_move_functor-jtournois
...
PMP::isotropic_remeshing() - add NP `allow move functor`
2024-05-15 16:12:14 +02:00
Laurent Rineau
f260a22a64
Merge pull request #8160 from sloriot/PMP-coref_with_less_bbox
...
PMP corefinement: only allocate necessary bboxes
2024-05-15 16:12:09 +02:00
Laurent Rineau
87fe13fcf6
Merge pull request #8168 from sloriot/PMP-remesh_doc
...
Update parameter description
2024-05-15 16:12:07 +02:00
Laurent Rineau
76809fa947
Merge pull request #8178 from sloriot/PMP-shorten_params
...
Rename parameters
2024-05-15 16:06:06 +02:00
Sébastien Loriot
6291a4f62d
also rename input nps
2024-05-06 09:50:18 +02:00
Sébastien Loriot
1be3e1d3f2
shorten parameters for better doc readibility
2024-05-02 14:36:18 +02:00
Sébastien Loriot
4525eeb988
do not modify the map if not the default one
2024-04-25 19:29:48 +02:00