Commit Graph

4372 Commits

Author SHA1 Message Date
Andreas Fabri ab75cbea46 Add data set that shows the performance gain when running self_intersections_example.cpp (4.6 sec master, 0.6 sec this PR when run sequentially 2021-04-01 18:42:05 +01:00
Andreas Fabri c97d3ffb65 Take into account that obtuse vertices are not clipped. 2021-04-01 16:47:07 +01:00
Andreas Fabri 6c4835f8db Introduce a struct for Prism so that we can also store which corner is obtuse 2021-04-01 15:35:16 +01:00
Sébastien Loriot f4a79aebd8 catch const ref 2021-03-31 14:12:43 +02:00
Mael Rouxel-Labbé dc854d8088 Use std::remove_if to speed-up invalid polygon removal 2021-03-31 11:54:38 +02:00
Andreas Fabri ebbe978291 Do not test combinations of planes where we know that there is no intersection point 2021-03-30 13:56:28 +01:00
Sébastien Loriot e3b0302b2b inherit from a std exception 2021-03-26 09:53:29 +01:00
Laurent Rineau 79ba1af61f Merge pull request #5492 from sloriot/PMP-coref_full_edge_visitor
Add missing visitor calls for the output_builder part
2021-03-24 15:05:24 +01:00
Jane Tournois f9eb2439bd Merge branch 'PMP-isotropic_remeshing_collapse_step-jtournois' of github.com:janetournois/cgal into PMP-isotropic_remeshing_collapse_step-jtournois 2021-03-22 16:50:00 +01:00
Jane Tournois a79fe08fcf Merge remote-tracking branch 'cgal/master' into PMP-isotropic_remeshing_collapse_step-jtournois 2021-03-22 16:46:08 +01:00
Brian Spilsbury b05f6061ab Merge branch 'master' into wasm 2021-03-20 17:57:57 +09:00
Andreas Fabri 29a40dc40b Remove the timer and the output of the result 2021-03-19 15:47:12 +01:00
Sébastien Loriot f5a6ff424e collect face incident to edges too 2021-03-19 14:47:54 +01:00
Jane Tournois 109a893657 remove #ifdef that should be defined 2021-03-19 11:30:05 +01:00
Sébastien Loriot ac15312260 add Ceres support cmake file 2021-03-18 14:47:56 +01:00
Dmitry Anisimov 00c185b028
Merge branch 'master' into Kernels-decltypes-danston 2021-03-12 12:06:20 +01:00
Andreas Fabri da17681a06 Avoid computing degree several times 2021-03-10 15:28:56 +00:00
Laurent Rineau b2ed4e5f7e Merge pull request #5423 from afabri/PMP-corefine_OM-GF
PMP:: Use operator<  instead of operator> as OM only implements the former

Conflicts:
	Polygon_mesh_processing/examples/Polygon_mesh_processing/corefinement_consecutive_bool_op.cpp
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/intersection_impl.h
2021-03-10 11:33:30 +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
Andreas Fabri cea8cca6af WIP: less computations of degree 2021-03-09 15:45:18 +00:00
Andreas Fabri b1c2dd8db6 WIP: early exit in the static filter 2021-03-07 18:25:18 +00:00
Andreas Fabri 45265a7e34 Replace vector with optional by two vectors. No idea what is better yet 2021-03-04 10:46:46 +00:00
Andreas Fabri 2e3bfa8743 Reduce calls to target @sloriot please double check the correctness 2021-03-04 09:27:05 +00:00
Sébastien Loriot a177ed01a4 fix warnings 2021-03-04 09:34:56 +01:00
Sébastien Loriot 0710924d3b accomodate is_badly_shape API update 2021-03-04 09:34:40 +01:00
Sébastien Loriot a4669bc39f Merge remote-tracking branch 'cgal/master' into HEAD 2021-03-04 09:34:26 +01:00
Sebastien Loriot ec8bfa577a
missing typename 2021-03-04 09:02:33 +01:00
Laurent Rineau fb00e173d6 Merge pull request #5405 from maxGimeno/PMP-Move_operations_for_collision_detector-maxGimeno
PMP Move assign for Rigid_triangle_mesh_collision_detection
2021-03-03 17:33:12 +01:00
Laurent Rineau 83244deabb Merge pull request #5429 from sloriot/PMP-coref_face_patch_init
Corefine: always init faces of patches
2021-03-03 17:33:02 +01:00
Laurent Rineau dcf9dfd0fe 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 using PMP::clip internal function

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/clip.h
2021-03-03 17:30:04 +01:00
Laurent Rineau adc8d9b686 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 17:29:45 +01:00
Laurent Rineau 8f9009e793 Merge pull request #5476 from sloriot/PMP-needle_caps_ecm_bug
PMP: Remove needles&caps fixes
2021-03-03 17:21:38 +01:00
Laurent Rineau ea7fa2dada Merge pull request #5480 from afabri/Filtered_kernel-Document_functor_for_Envelope-GF
Kernel_23:  Rename internal function and functor
2021-03-03 17:21:35 +01:00
Laurent Rineau 15263250a4 Merge pull request #5485 from danston/PMP-tbb_exception_fix-danston
Use TBB captured exception in PMP
2021-03-03 17:21:31 +01:00
Laurent Rineau fd353e84e9 Merge pull request #5509 from sloriot/PMP-coref_robust_side_of
Robustify internal side-of-triangle-mesh calls
2021-03-03 17:18:11 +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
Andreas Fabri dad0287b69 Remove trailing whitespace 2021-03-03 14:34:56 +00:00
Andreas Fabri 82e5b3a02d Do not collect in a vector per patch, but do the tests directly (@janetournois please double-check this commit) 2021-03-03 14:23:56 +00:00
Brian Spilsbury 4a6706755d Cleanup 2021-03-03 19:58:56 +09:00
Brian Spilsbury 85c6b3b3b6 Revert PMP example 2021-03-03 19:57:51 +09:00
Brian Spilsbury d3d24faf04 Add tests 2021-03-03 19:45:40 +09:00
Sébastien Loriot fa47c35271 remove unused variable 2021-03-03 08:28:28 +01:00
Andreas Fabri 22789f6f6b Replace geometric by combinatorial test 2021-03-02 21:56:54 +00: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
Brian Spilsbury 6d048b92e1 Patch for intervals on wasm 2021-03-02 23:28:48 +09:00
Andreas Fabri 5e2a580551 map -> unordered_map 2021-03-02 13:17:53 +00:00
Andreas Fabri 10f454d983 reserve(8) for incident faces to a vertex 2021-03-02 13:09:45 +00:00
Andreas Fabri 19e5e4a16e Use flaat_set and put it outside the loop 2021-03-02 12:25:28 +00:00
Sébastien Loriot 909b3a15f4 missing dots 2021-03-01 20:02:07 +01:00
Sébastien Loriot 2864f62ade fixes after review 2021-03-01 19:47:21 +01:00
Sébastien Loriot 20865d2544 robustify side_of test 2021-02-26 15:46:01 +01:00
Dmitry Anisimov a1edfa76db fixed tbb warning 2021-02-25 12:05:56 +01:00
Dmitry Anisimov 4e911a4be0 fixed syntax error 2021-02-25 10:22:17 +01:00
Sébastien Loriot c0a90c101b doc update + missing renaming 2021-02-24 17:05:58 +01:00
Sébastien Loriot e2a80611ce complete the visitor for edge creation/copies 2021-02-24 16:53:20 +01:00
Dmitry Anisimov 9db3cdb22f use tbb captured_exception only on the x86_64 platforms 2021-02-24 11:08:44 +01:00
Dmitry Anisimov 688e76f70a
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/self_intersections.h
Co-authored-by: Laurent Rineau <Laurent.Rineau@cgal.org>
2021-02-23 14:05:29 +01:00
Dmitry Anisimov c63741dbb6 better tbb exception 2021-02-23 12:40:18 +01:00
Dmitry Anisimov e16e773fb8 fixed exception handling 2021-02-22 17:37:57 +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
Dmitry Anisimov c0627fc05f cleaner solution using std exception 2021-02-22 16:45:10 +01:00
Dmitry Anisimov 99f8843197 in case tbb is on, we use tbb captured execption in pmp 2021-02-22 15:19:58 +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
Andreas Fabri d5a5b20ce8 Make it clear that the functor is not part of the Kernel concept 2021-02-19 20:23:20 +00: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
Laurent Rineau 1a040c8552
Merge pull request #4749 from danston/Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2021-02-19 07:59:59 +01:00
Laurent Rineau c70da09776 Merge pull request #5049 from sloriot/PMP-corefine_non_manifold
corefine with non manifold edges
2021-02-18 15:26:56 +01:00
Laurent Rineau 77466bc60e Merge pull request #5295 from barcode/Side_of_triangle_mesh_move_ctor_move_assign
Add move ctor and move assign to Side_of_triangle_mesh
2021-02-18 15:26:46 +01:00
Laurent Rineau 34985a2ede Merge pull request #5421 from maxGimeno/CGAL-Fix_const_for_variable-maxGimeno
BGL, PMP: Fix a warning
2021-02-18 15:19:03 +01:00
Maxime Gimeno d5811d0a41 clang-tidy on tests 2021-02-18 15:15:12 +01:00
Sébastien Loriot 692f35a62d fix warnings 2021-02-15 17:17:20 +01:00
Dmitry Anisimov c970c4a758 removed unused Point_3 type in PMP 2021-02-11 09:48:27 +01:00
Dmitry Anisimov 81d9556707 Merge remote-tracking branch 'upstream/master' into Kernels-decltypes-danston 2021-02-10 10:06:45 +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
Maxime Gimeno 564e4a1d9f Fix 2021-02-08 10:24:40 +01:00
Laurent Rineau 41765b6a26 Merge pull request #5377 from sloriot/PMP-typo
Remove extra p
2021-02-05 16:10:22 +01:00
Laurent Rineau f9bf7bfc61 Merge pull request #5403 from sloriot/PMP-parallel_union
Add an example do the union of a set of meshes in parallel
2021-02-05 16:10:01 +01:00
Laurent Rineau 9986b1c151 Merge pull request #5424 from sloriot/PMP-hole_filling_no_warnings
Do not emit warning as hole filling can fail
2021-02-05 16:09:51 +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
Dmitry Anisimov 8914b2fc82
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/triangulate_hole.h
Co-authored-by: Sebastien Loriot <sloriot.ml@gmail.com>
2021-02-05 14:43:29 +01:00
Sebastien Loriot c30056b126
use move assignment 2021-02-05 13:51:21 +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
Maxime Gimeno 98ffbba648 Fix warning 2021-02-02 14:55:50 +01:00
Sébastien Loriot 8f0b2bb446 add an example do the union of a set of meshes in parallel 2021-01-29 09:47:10 +01:00
Maxime Gimeno a0686c10ec use *this = std::move(other); 2021-01-28 12:21:57 +01:00
Maxime Gimeno 63fe0dc17a clean-up 2021-01-28 12:00:40 +01:00
Maxime Gimeno 5039f813ae Add move assign to Rigid_triangle_mesh_collision_detection 2021-01-28 11:21:32 +01:00
Dmitry Anisimov b2861aefa3 fixed warning with Vector 3 type 2021-01-28 10:57:01 +01:00
Sébastien Loriot 71ae816bfa Merge remote-tracking branch 'cgal/master' into PMP-corefine_non_manifold 2021-01-27 13:46:09 +01:00
Dmitry Anisimov 56a0cb15e4 added missing type 2021-01-26 10:48:17 +01:00
Dmitry Anisimov 3551d0224b fixed IO interface + the bug with misplaced assertions 2021-01-26 10:38:03 +01:00
Laurent Rineau 9ef6fc3182 Merge pull request #5330 from sloriot/PMP-hard_coded_EK
remove hardcoded kernel
2021-01-21 16:23:19 +01:00
Laurent Rineau f176529041 Merge pull request #5357 from sloriot/CGAL-boost_function_output-master
Include non-deprecated header (master)
2021-01-21 16:22:39 +01: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
Laurent Rineau 52bb68c012 Merge pull request #5356 from sloriot/CGAL-boost_function_output-5.2
Include non-deprecated header (5.2)
2021-01-21 16:18:55 +01:00
Laurent Rineau dce5ed14b7 Merge pull request #5355 from sloriot/CGAL-boost_function_output-5.1
Include non-deprecated header (5.1)
2021-01-21 16:09:39 +01:00
Sébastien Loriot 4ef0295891 typo 2021-01-20 15:53:52 +01:00
Sébastien Loriot bc161f2ae9 Merge 'CGAL-Eigen3_support-5.2' 2021-01-15 10:59:20 +01:00
Sébastien Loriot f4935dc199 Merge branch 'CGAL-Eigen3_support-5.1' 2021-01-15 10:54:02 +01:00
Sébastien Loriot eecb00534e fix macro name to be consistent with find_package 2021-01-15 10:43:34 +01:00
Sébastien Loriot ad911271a9 Merge commit '6594e7549bd70923990d86c31e2aa267a79bb629' into HEAD 2021-01-15 10:12:17 +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
Dmitry Anisimov f7abb6c343
Merge branch 'master' into Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2021-01-14 17:23:24 +01:00
Dmitry Anisimov c657451934
Merge branch 'master' into Polygon_mesh_processing-triangulate_hole_with_cdt2-danston 2021-01-14 10:38:51 +01:00
Sébastien Loriot ffc16da931 close stream 2021-01-13 13:50:32 +01:00
Maxime Gimeno cce00dd29f Fix doc 2021-01-08 09:50:07 +01:00
Maxime Gimeno cf19fb2df9 Fixes 2021-01-08 09:35:35 +01:00
Maxime Gimeno 3d1c41fd14 Merge remote-tracking branch 'cgal/master' into CGAL_IO-maxGimeno 2021-01-07 15:05:28 +01:00
Laurent Rineau 85325d789f Merge pull request #5090 from afabri/FastEnvelope-GF
Polygon Mesh Processing:  Add envelope test
2021-01-06 16:11:56 +01:00
Laurent Rineau f33f3f5d7c Merge pull request #5256 from sloriot/PMP-improve_isotropic_remeshing
TIny improvement of surface isotropic remeshing
2021-01-06 16:11:40 +01:00
Laurent Rineau 2237e48d2c Merge pull request #5258 from sloriot/Examples-use_polyline_ext
Change extension to the one recognized by the demo
2021-01-06 16:11:37 +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
Sébastien Loriot 02db50ae4f fix warnings 2021-01-04 10:36:14 +01:00
Andreas Fabri 404ee465df Address VC++ warnings 2021-01-04 09:16:30 +00:00
Andreas Fabri 8ae9070e5d Fix warnings 2020-12-30 09:06:19 +00:00
Raphael Grimm c395a5d3f7 Add std::move to all members 2020-12-18 10:54:42 +01:00
Raphael Grimm 7bd2923bc3 Remove BOOST_NO_CXX11_RVALUE_REFERENCES 2020-12-18 10:31:18 +01:00
Raphael Grimm f3330b91d6 Add move ctor and move assign to Side_of_triangle_mesh 2020-12-18 08:59:24 +01:00
Laurent Rineau 4b42d4b555 Merge pull request #5286 from janetournois/PMP-isotropic_remeshing_fix_is_corner-jtournois
PMP::isotropic_remeshing - fix is_corner(v)
2020-12-17 17:03:13 +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
Jane Tournois 0be31d5440 Revert "skip the null face when checking for self-intersections in a face range"
This reverts commit 9ba6ac4929.
2020-12-17 10:15:59 +01:00
Laurent Rineau ec4768468f 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:49:12 +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é 56ac58de41 Fix size conversion warning 2020-12-15 16:13:13 +01:00