Laurent Rineau
1ac4c2903a
Merge pull request #5589 from MaelRL/Number_types-Fix_approx_sqrt_mpq-GF
...
Fix approximate_sqrt return types
2021-05-18 17:32:26 +02:00
Laurent Rineau
49aff67985
Merge pull request #5689 from janetournois/PMP-isotropic_remeshing_fixes-jtournois
...
PMP::isotropic_remeshing - fixes about "isolated constraints"
# Conflicts:
# Polygon_mesh_processing/test/Polygon_mesh_processing/CMakeLists.txt
2021-05-18 17:31:55 +02:00
Jane Tournois
74e2ee9734
do not collapse isolated constraints
2021-05-06 19:40:52 +02:00
Jane Tournois
14385aaf15
add a test with isolated constraints, on and away from mesh borders
2021-05-06 17:48:39 +02:00
Jane Tournois
3a6e31de65
do not split isolated constraints
2021-05-06 15:56:23 +01:00
Jane Tournois
64e568f748
an isolated constraint can be on the mesh border
...
the halfedge status for a pair of opposite halfedges can be
MESH_BORDER and ISOLATED_CONSTRAINT, but MESH_BORDER has
priority
2021-05-06 16:56:05 +02:00
Jane Tournois
49fc218c45
avoid iterating over all halfedges, but only the ones of the patch to be remeshed
2021-05-06 15:55:19 +01:00
Jane Tournois
9d3d29fd6d
encapsulate debug code in debug macro
2021-05-06 16:55:02 +02:00
Laurent Rineau
795c931b55
Merge pull request #5637 from sloriot/PMP-hole_filling_empty_range_warning
...
Fix use of empty range
2021-04-28 15:22:41 +02:00
Sébastien Loriot
0eea836f1e
handle empty point range
2021-04-23 08:46:28 +02:00
Sébastien Loriot
eef92fbef7
Merge remote-tracking branch 'cgal/5.1.x-branch'
2021-04-21 15:47:06 +02:00
Mael Rouxel-Labbé
c489b7ffa5
Add missing Coercion_traits specialization for custom FT in PMP test
2021-04-20 15:59:29 +02:00
Sebastien Loriot
e9c97d2b59
Merge pull request #5539 from sloriot/PMP-coref_check_si
...
Collect faces incident to edges too
2021-04-17 11:04:38 +02:00
Jane Tournois
d61cf58f2f
add ISOLATED_CONSTRAINT halfedge status
...
this type is needed for edges that are part of the input constrained
edges property map, and are incident to a face to be remeshed only by a
vertex.
These edges contribute to creating corner vertices (incident to >= 3
constrained edges), but should still not be considered as patch borders
without dealing with these "isolated constraints", the corner vertices that
are incident to 2 patch borders and 1 of these edges was not considered
as a corner but as a simple patch border vertex, hence it could be
moved/deleted by a collapse or relaxation steps
2021-04-13 15:20:21 +02:00
Laurent Rineau
a11a7578f6
Merge pull request #5570 from MaelRL/PMP-Repair_PS_invalid_polygons_speed_up-GF
...
Speed up invalid polygon removal in repair_PS
2021-04-06 15:11:41 +02:00
Mael Rouxel-Labbé
dc854d8088
Use std::remove_if to speed-up invalid polygon removal
2021-03-31 11:54:38 +02:00
Sébastien Loriot
f5a6ff424e
collect face incident to edges too
2021-03-19 14:47:54 +01:00
Laurent Rineau
4dc8a341f9
Merge pull request #5423 from afabri/PMP-corefine_OM-GF
...
PMP:: Use operator< instead of operator> as OM only implements the former
2021-03-10 10:33:17 +01:00
Laurent Rineau
325436540f
Merge pull request #5429 from sloriot/PMP-coref_face_patch_init
...
Corefine: always init faces of patches
2021-03-03 17:10:16 +01:00
Laurent Rineau
3c3dad3243
Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
...
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection
2021-03-03 16:56:31 +01:00
Laurent Rineau
b5e6ef261f
Merge pull request #5442 from MaelRL/PMP-stitch_borders_reintroduce_zipping-GF
...
Re-introduce some kind of zipping as a first step to boundary cycle stitching
2021-03-03 16:39:54 +01:00
Laurent Rineau
e522630610
Merge pull request #5476 from sloriot/PMP-needle_caps_ecm_bug
...
PMP: Remove needles&caps fixes
2021-03-03 16:34:46 +01:00
Laurent Rineau
7e61495ef5
Merge pull request #5429 from sloriot/PMP-coref_face_patch_init
...
Corefine: always init faces of patches
2021-03-03 16:31:17 +01:00
Laurent Rineau
2800c8c587
Merge pull request #5435 from afabri/Intersect_3-fix_isocuboid_plane-GF
...
Intersect_3: Fix Iso_cuboid_3/Plane_3 and Tetrahedon_/Plane_3 intersection
2021-03-03 16:31:15 +01:00
Sébastien Loriot
fa47c35271
remove unused variable
2021-03-03 08:28:28 +01:00
Sébastien Loriot
c1dcaac020
remove TODOs
2021-03-02 16:21:06 +01:00
Sébastien Loriot
313f682b8c
use custom functor for bbox and split primitives
...
aabb tree build runtime is similar to using EPICK
2021-03-02 16:16:07 +01:00
Sébastien Loriot
20865d2544
robustify side_of test
2021-02-26 15:46:01 +01:00
Mael Rouxel-Labbé
abe1f6e577
Misc cleaning
2021-02-22 16:51:35 +01:00
Mael Rouxel-Labbé
b3d7977fac
Fix boundary cycle zipping not updating its representative
2021-02-22 16:50:52 +01:00
Sébastien Loriot
85a9962892
2 fixes:
...
- an edge cannot be collapsed if both its endpoints are constrained -> allow cap classification
- an edge with two constrained endpoints can be flipped (if not constrained)
2021-02-22 14:50:41 +01:00
Mael Rouxel-Labbé
68f53bc518
Clean preconditions of is_needle/cap
2021-02-19 18:04:58 +01:00
Mael Rouxel-Labbé
8afeab71e7
Various fixes for PMP::remove_almost_degenerate_faces
...
See https://github.com/CGAL/cgal/pull/5476
2021-02-19 18:02:15 +01:00
Mael Rouxel-Labbé
aacd453965
Do not stitch two halfedges if both are incident to the same degenerate face
2021-02-19 17:38:34 +01:00
Sébastien Loriot
a75ad50a31
allow to handle a triangle as a cap if the collapse_length_threshold is not met
2021-02-19 16:53:01 +01:00
Sébastien Loriot
b5277495e2
remove no longer needed variables
2021-02-19 16:10:32 +01:00
Sébastien Loriot
7ab4a8f6a2
handle constrained edges removed upon collapse
2021-02-19 14:38:20 +01:00
Sébastien Loriot
a595e529c5
remove edge map and inter pt set
2021-02-09 18:43:05 +01:00
Mael Rouxel-Labbé
1b01b67c86
Added a test for zipping-based boundary cycle stitching
2021-02-08 15:54:52 +01:00
Mael Rouxel-Labbé
f55d586d9d
Re-introduce some kind of zipping as a first step to boundary cycle stitching
...
Zipping was removed when local stitching was introduced, and a common interface
between stitching-within-a-cycle and normal-stitching was introduced.
However, that common interface does not handle any non-manifold configuration,
even if it's a folded cycle with obvious stitching (consecutive equal edges).
So, some kind of zipping is re-added. It is cheap anyway
(compared to e.g. calling PMP::connected_components on the whole mesh).
2021-02-08 15:50:48 +01:00
Laurent Rineau
8c86a6a858
Merge pull request #5377 from sloriot/PMP-typo
...
Remove extra p
2021-02-05 16:07:20 +01:00
Laurent Rineau
a4bbce7f7a
Merge pull request #5424 from sloriot/PMP-hole_filling_no_warnings
...
Do not emit warning as hole filling can fail
2021-02-05 16:07:09 +01:00
Laurent Rineau
11939d830f
Merge pull request #5377 from sloriot/PMP-typo
...
Remove extra p
2021-02-05 16:05:48 +01:00
Sébastien Loriot
2510571448
always init faces of patches
2021-02-04 17:00:48 +01:00
Sébastien Loriot
29379aec95
use EPECK
2021-02-03 14:09:33 +01:00
Sébastien Loriot
bdbc4a3ca0
remove unused typedef
2021-02-03 14:09:22 +01:00
Andreas Fabri
96769b2873
Use 2 template parameters so that it matches for a handle and a smart handle
2021-02-03 12:38:25 +00:00
Sébastien Loriot
22724728e7
do not emit warning as hole filling can fail
2021-02-03 12:48:50 +01:00
Andreas Fabri
3f05cf3139
Add the example
2021-02-03 11:08:56 +00:00
Andreas Fabri
cd70b9b172
Use operator< instead of operator> as OM only implements the former
2021-02-03 10:46:28 +00:00