Commit Graph
3095 Commits
Author SHA1 Message Date
Sébastien Loriot eef92fbef7 Merge remote-tracking branch 'cgal/5.1.x-branch' 2021-04-21 15:47:06 +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é 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
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 cd70b9b172 Use operator< instead of operator> as OM only implements the former 2021-02-03 10:46:28 +00:00
Laurent Rineau 1fbc6ec52b Merge pull request #5330 from sloriot/PMP-hard_coded_EK
remove hardcoded kernel
2021-01-21 16:19:06 +01:00
Sébastien Loriot 4ef0295891 typo 2021-01-20 15:53:52 +01:00
Sébastien Loriot bdd4efe3b3 Merge commit 'efc0c525e8b' into HEAD 2021-01-15 10:06:56 +01:00
Sébastien Loriot efc0c525e8 include non-deprecated header 2021-01-15 10:02:00 +01:00
Sébastien Loriot 925abf284d expose type 2021-01-06 14:26:11 +01:00
Sébastien Loriot e63b032979 remove hardcoded kernel 2021-01-06 13:26:58 +01:00
Laurent Rineau 1357ebc0c1 Merge pull request #5286 from janetournois/PMP-isotropic_remeshing_fix_is_corner-jtournois
PMP::isotropic_remeshing - fix is_corner(v)
2020-12-17 17:02:46 +01:00
Laurent Rineau 6f8f790ae9 Merge pull request #5286 from janetournois/PMP-isotropic_remeshing_fix_is_corner-jtournois
PMP::isotropic_remeshing - fix is_corner(v)
2020-12-17 17:02:29 +01:00
Laurent Rineau f612716d34 Merge pull request #5263 from MaelRL/PMP-Fix_remove_degenerate_edges_mutated_loop-GF
Fix multiples calls to degenerate_edges() with an invalid input range
2020-12-16 17:47:50 +01:00
Jane Tournois 1afacb1d0b is_corner(v) should count both incoming and outgoing halfedges around v 2020-12-15 17:39:10 +01:00
Mael Rouxel-Labbé 136ddee8da Do not use the iterator after its deletion 2020-12-15 16:13:00 +01:00
Mael Rouxel-Labbé 818037a0ce Fix multiples calls to degenerate_edges() with an invalid input range 2020-12-10 17:34:55 +01:00
Laurent Rineau a2140d8263 Merge pull request #5228 from MaelRL/PMP-Add_missing_include_pm2ps-GF
PMP: Add missing header include (PM to PS)
2020-12-04 17:08:22 +01:00
Mael Rouxel-Labbé 47df5dc4df Add missing header include 2020-11-30 18:00:41 +01:00
Laurent Rineau b248867e91 Merge pull request #5141 from maxGimeno/Demo-Fix-clipping_plugin-maxGimeno 2020-11-09 17:10:24 +01:00