Commit Graph

2944 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 994b4858b2 Doc fixes 2020-02-28 12:56:38 +01:00
Mael Rouxel-Labbé 26463ded7a Update NPs using default constructed default values to new API
+ misc cleaning
2020-02-28 11:55:17 +01:00
Mael Rouxel-Labbé 09cb327ac3 Use dummy initialization to silence a warning 2020-02-27 09:19:49 +01:00
Mael Rouxel-Labbé f9c6cea0fd Hide debug code behind macros 2020-02-25 15:30:11 +01:00
Mael Rouxel-Labbé 0c77ffe593 Fix includes 2020-02-25 15:29:56 +01:00
Sébastien Loriot 03bf465cb7 use predicates 2020-02-25 15:28:15 +01:00
Mael Rouxel-Labbé 916573af3d Fix and enhance merge_duplicate_vertices_in_boundary_cycles
Bug fix: improper check of overlapping intervals
Enhancement: don't throw everything as soon as there is a pair
             of intervals that are incompatible, only remove
	     one of the intervals (taken arbitrarily as the widest)
2020-02-25 15:21:19 +01:00
Maxime Gimeno 9a454ca7e2 Changes after review 2020-02-21 11:43:08 +01:00
Maxime Gimeno 077a129216 Merge remote-tracking branch 'cgal/master' into PMP-Default_pmap-maxGimeno 2020-02-21 10:34:14 +01:00
Mael Rouxel-Labbé 636665a96c Fix types 2020-02-20 12:14:27 +01:00
Mael Rouxel-Labbé 9c51e3fba7 Add polygon_mesh_to_polygon_soup() 2020-02-20 11:14:06 +01:00
Mael Rouxel-Labbé ec6a4dbd17 Fix documentation 2020-02-20 11:13:18 +01:00
Mael Rouxel-Labbé 554be421d9 Add convience overloads for PS_to_PM_converter (no property maps passed) 2020-02-20 11:12:40 +01:00
Mael Rouxel-Labbé 21763ff4bf Fix unused typedef warning 2020-02-20 11:11:32 +01:00
Mael Rouxel-Labbé 5db42d1e8b Fix order of template parameters 2020-02-19 18:24:31 +01:00
Mael Rouxel-Labbé 51f4831d1f Add point_map and vertex_point_map NP to PMP::PS_to_PM 2020-02-19 18:01:45 +01:00
Mael Rouxel-Labbé 832090c249 Merge branch 'PMP-soup_to_mesh_add_vpm-old' into PMP-soup_to_mesh_add_vpm 2020-02-19 17:28:54 +01:00
Mael Rouxel-Labbé 35eaa07bde Misc cleaning 2020-02-19 16:49:11 +01:00
Mael Rouxel-Labbé 1a4858a6fa Fix includes 2020-02-19 16:37:32 +01:00
Mael Rouxel-Labbé 374870a6cb Misc minor fixes 2020-02-19 16:07:55 +01:00
Maxime Gimeno 5538786eff Merge remote-tracking branch 'cgal/master' into PMP-Default_pmap-maxGimeno 2020-02-14 15:00:54 +01:00
Laurent Rineau 034bc95674 Merge pull request #4506 from sloriot/PMP-clip_better_doc
Improve clip doc and tests
2020-02-14 14:46:32 +01:00
Laurent Rineau b7c237515a Merge pull request #4524 from sloriot/PMP-inplace_bo_fix
Handle the case of interior vertex
2020-02-14 14:46:19 +01:00
Laurent Rineau 31416b1cf2 Merge pull request #4506 from sloriot/PMP-clip_better_doc
Improve clip doc and tests
2020-02-14 14:45:55 +01:00
Laurent Rineau a98583f1ec Merge pull request #4506 from sloriot/PMP-clip_better_doc
Improve clip doc and tests
2020-02-14 14:39:19 +01:00
Laurent Rineau 16e7715c31 Merge pull request #4524 from sloriot/PMP-inplace_bo_fix
Handle the case of interior vertex
2020-02-14 14:39:05 +01:00
Maxime Gimeno 249eb85060 fixes 2020-02-14 14:25:28 +01:00
Maxime Gimeno b55239023d Doc fixes 2020-02-14 09:09:53 +01:00
Maxime Gimeno 1179b0a934 Fixes after review 2020-02-13 16:11:53 +01:00
Maxime Gimeno 201932abfb Merge remote-tracking branch 'cgal/master' into Doc_enhancements_and_clarifications-GF 2020-02-13 15:05:38 +01:00
Sébastien Loriot 3501af6c61 handle the case of interior vertex
The vertex becomes interior after the stitch of the patch
while being the endpoint of a polyline to be removed

fix patch introduced in 6e31445f62
2020-02-13 14:38:19 +01:00
Maxime Gimeno 6db578509d add np to bbox() 2020-02-11 14:47:46 +01:00
Maxime Gimeno e9864cf874 Fixes after review 2020-02-11 14:13:56 +01:00
Maxime Gimeno 0378d7825f Merge remote-tracking branch 'cgal/master' into PMP-Add_split_to_clip-GF 2020-02-10 15:53:05 +01:00
Maxime Gimeno f60d8d24ec more fixes after review 2020-02-10 14:41:05 +01:00
Maxime Gimeno 4716359ca6 Merge remote-tracking branch 'cgal/master' into PMP-new_functions-GF 2020-02-10 14:29:56 +01:00
Maxime Gimeno e3ace2289d First batch of fixes after review 2020-02-10 14:28:45 +01:00
Mael Rouxel-Labbé cb3e5cd83c Merge branch 'PMP-Make_remove_self_intersections_local-GF-old' into PMP-Make_remove_self_intersections_local-GF 2020-02-07 17:09:59 +01:00
Mael bb4247e143
Merge branch 'master' into PMP-Snapping_improvements-GF 2020-02-07 16:31:28 +01:00
Laurent Rineau 49a06e9201 Merge pull request #4362 from afabri/Box_intersection_d-accelerate-GF
PMP::self_intersections: Add Concurrency
2020-02-07 16:25:06 +01:00
Laurent Rineau 0fd7bbc4ff Merge pull request #4364 from afabri/CGAL-Parallel_if_available_tag
CGAL:: Add Parallel_if_available_tag
2020-02-07 16:25:03 +01:00
Laurent Rineau 21570cde72 Merge pull request #4416 from sloriot/PMP-clip_box
Add clipping overload to a iso-cuboid
2020-02-07 16:24:57 +01:00
Laurent Rineau 36cb11d01b Merge pull request #4417 from sloriot/PMP-cc_remove_boost_call
Remove call to boost in PMP::connected_components
2020-02-07 16:24:55 +01:00
Laurent Rineau c490d01e7f Merge pull request #4489 from MaelRL/PMP-Relax_assertion_in_compute_normal-GF
PMP: Fixes for compute_normals
2020-02-07 16:24:36 +01:00
Mael Rouxel-Labbé 84215c95c4 Merge branch 'Box_intersection_d-accelerate-GF-old' into Box_intersection_d-accelerate-GF 2020-02-07 11:03:07 +01:00
Mael Rouxel-Labbé b7d2646421 Fix sanity check not failing on self-intersections 2020-02-06 17:14:29 +01:00
Mael Rouxel-Labbé 29ddd67b8d Clean temp code 2020-02-06 17:14:16 +01:00
Mael Rouxel-Labbé f1969fc5b8 Remove unused debug functions 2020-02-06 16:18:42 +01:00
Mael Rouxel-Labbé 0ddf33c9df Use PM_to_PS in the demo 2020-02-06 16:15:15 +01:00
Mael Rouxel-Labbé 035536527c Misc cleaning 2020-02-06 15:49:33 +01:00
Mael Rouxel-Labbé 5202712322 Fix polygon soup initialization 2020-02-06 15:49:00 +01:00
Mael Rouxel-Labbé 3f32279011 More null angle handling in smoothing 2020-02-06 15:48:22 +01:00
Mael Rouxel-Labbé 19c7ea8f30 Remove non-existent header 2020-02-06 12:06:54 +01:00
Mael Rouxel-Labbé c2baf0a2ae Add missing ';' 2020-02-06 12:02:41 +01:00
Sébastien Loriot 23f66eeed3 splitter vpm is not needed to duplicate halfedge in tm 2020-02-06 11:48:46 +01:00
Mael Rouxel-Labbé 239d4479fa Try to work around stretched faces giving 0 angle in smoothing 2020-02-06 09:56:22 +01:00
Mael Rouxel-Labbé af075b2033 Remove assertion that can be triggered by numerical errors 2020-02-06 09:55:10 +01:00
Mael Rouxel-Labbé f33618e5e8 Uniformize macros 2020-02-06 09:54:35 +01:00
Sébastien Loriot ccfd82bfb9 improve doc and test 2020-02-05 19:09:08 +01:00
Mael dca752395e
Remove assertion 2020-02-05 18:28:08 +01:00
Mael Rouxel-Labbé e72756eb0a Mini code cleaning 2020-02-05 18:11:26 +01:00
Mael Rouxel-Labbé 0bd5511803 Add some more verbosity 2020-02-05 18:11:10 +01:00
Mael Rouxel-Labbé fb92ab7171 Do smoothing on an extracted mesh instead of the main mesh
The point is to avoid having to restore the initial mesh which is costly
and also difficult if the initial patch has non-manifoldness.
2020-02-05 18:09:51 +01:00
Mael Rouxel-Labbé bd31fb8672 Fix compilation of polygon_mesh_to_PS 2020-02-05 18:08:54 +01:00
Mael Rouxel-Labbé a2bdfd57c9 Never allow degenerate faces to be created in smoothing
Regardless of whether "safe moves only" is being used or not.

Degenerate faces are annoying because the normal is undefined (null_vector)
and then things get tricky.

The hope is that if a move would create a degenerate face, we can
just not move it, and hope that the degenerate face would not appear
on the next move.
2020-02-05 18:08:25 +01:00
Mael Rouxel-Labbé 238e18f002 Add polygon_mesh_to_polygon_soup (undocumented) 2020-02-05 15:32:22 +01:00
Mael Rouxel-Labbé 677ea630f8 Don't flip anything in weird situations 2020-02-05 11:32:40 +01:00
Mael Rouxel-Labbé 8773cee832 Minor code improvements 2020-02-05 10:54:11 +01:00
Mael Rouxel-Labbé 0c05fc6e80 More fixes for normal computations of meshes with degenerate faces 2020-02-04 16:02:03 +01:00
Mael Rouxel-Labbé bbdc79f9b8 More fixes for normal computations of meshes with degenerate faces 2020-02-04 15:56:55 +01:00
Mael Rouxel-Labbé 33766800b6 Fix some corner cases with the new compute normals and degenerate faces 2020-02-04 14:29:08 +01:00
Mael Rouxel-Labbé eec9b0b227 Fix corner case in sin weight normal computations 2020-02-04 14:29:03 +01:00
Mael Rouxel-Labbé 1a3f0cf982 Fix corner case in sin weight normal computations 2020-02-03 18:24:08 +01:00
Mael Rouxel-Labbé 81f04ac2d9 Move remove_self_intersections to PMP::experimental 2020-02-03 18:12:45 +01:00
Mael Rouxel-Labbé 6339e80f71 Remove Hausdorff checks, properly pass parameters, polish 2020-02-03 18:12:15 +01:00
Mael Rouxel-Labbé 38367410c3 Fix some corner cases with the new compute normals and degenerate faces 2020-02-03 18:10:41 +01:00
Mael Rouxel-Labbé 1eb323fcbd Relax assertion due to numerical errors that can sneak in
Logically speaking, the vector nb is the bisector of ni and nj,
so ni.nb and nj.nb are positive by construction.
2020-02-03 17:40:38 +01:00
Mael e9ca254a31
Fix using old BGL API 2020-02-03 13:27:46 +01:00
Mael Rouxel-Labbé 32aa902bf5 Merge branch 'PMP-Make_remove_self_intersections_local-GF-old' into PMP-Make_remove_self_intersections_local-GF 2020-02-03 13:05:52 +01:00
Mael 2632f96002
Fix value type 2020-02-03 12:11:41 +01:00
Mael 3f46d8cdd5
Merge branch 'master' into PMP-cc_remove_boost_call 2020-02-03 12:09:51 +01:00
Maxime Gimeno 13b2c0201e Merge remote-tracking branch 'cgal/master' into PMP-volume_segmentation 2020-01-31 15:05:51 +01:00
Maxime Gimeno 65ee6f8744 remove unused variables and typedefs 2020-01-31 09:38:58 +01:00
Maxime Gimeno a7527329ce More fixes 2020-01-30 17:03:37 +01:00
Mael 8f29c7cb63
Merge branch 'master' into CGAL-Parallel_if_available_tag 2020-01-29 16:42:54 +01:00
Laurent Rineau 5fc7b97e32 Merge pull request #4468 from maxGimeno/TBB-Fix_deprecation_warnings-5_0-maxGimeno
TBB deprecated code replacement
2020-01-29 16:34:56 +01:00
Laurent Rineau 315a0b54d1 Merge pull request #4468 from maxGimeno/TBB-Fix_deprecation_warnings-5_0-maxGimeno
TBB deprecated code replacement
2020-01-29 16:27:53 +01:00
Maxime Gimeno 6a7e89d3aa use make_range() 2020-01-28 14:43:29 +01:00
Maxime Gimeno 28fa68d4f8 more boost::choose_param 2020-01-28 13:52:02 +01:00
Maxime Gimeno 67a5b4d8c5 more clean-up after review 2020-01-28 13:42:46 +01:00
Maxime Gimeno fb898e4cfa fix license 2020-01-28 10:44:36 +01:00
Maxime Gimeno 438826380d Clean-up after review 2020-01-28 10:44:36 +01:00
Maxime Gimeno 82f0f86733 Fixes and example 2020-01-28 10:44:23 +01:00
Maxime Gimeno 19a77a50ef Finish doc 2020-01-28 10:41:52 +01:00
Maxime Gimeno c9b233903c Update licenses 2020-01-28 10:41:52 +01:00
Maxime Gimeno 1e4c694b06 Fix doc 2020-01-28 10:41:52 +01:00
Maxime Gimeno 8ca28b8398 Move soup orientation functions to a new header to avoid new unwanted dependencies 2020-01-28 10:41:52 +01:00
Sébastien Loriot 55194a70af TM->PM 2020-01-28 10:41:52 +01:00
Sébastien Loriot 1c48a0e05b remove useless condition from a previous test 2020-01-28 10:41:52 +01:00
Sébastien Loriot 8f28d04b9d cosmetic fixes 2020-01-28 10:41:52 +01:00
Sébastien Loriot 7e41a19d41 extend the code to handle more than cycles entirely matching 2020-01-28 10:41:52 +01:00
Maxime Gimeno b1311fbdb3 Add a new PMP_np 2020-01-28 10:41:43 +01:00
Maxime Gimeno 9ce0040527 Add the 3 functions 2020-01-28 10:38:17 +01:00
Maxime Gimeno cba53c4937 WIP 2020-01-28 10:38:17 +01:00
Maxime Gimeno c45fe2bbd3 fix boost::get_param() 2020-01-28 09:58:35 +01:00
Maxime Gimeno 1f0d062c10 Merge remote-tracking branch 'cgal/master' into PMP-Add_split_to_clip-GF 2020-01-27 12:51:26 +01:00
Mael Rouxel-Labbé ef1236dd2b Add #include <limits> 2020-01-23 12:04:20 +01:00
Mael Rouxel-Labbé 8a0005573e Relax assertion due to numerical errors that can sneak in
Logically speaking, the vector nb is the bisector of ni and nj,
so ni.nb and nj.nb are positive by construction.
2020-01-23 12:00:27 +01:00
Laurent Rineau 2c5826dd6f Merge pull request #4474 from sloriot/CGAL-warning_macro
Update warning macro usages

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Hole_filling/Triangulate_hole_polyline.h
2020-01-17 16:29:49 +01:00
Laurent Rineau fe91249ac4 Merge pull request #4474 from sloriot/CGAL-warning_macro
Update warning macro usages

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Hole_filling/Triangulate_hole_polyline.h
2020-01-17 16:27:13 +01:00
Laurent Rineau b91c43ba54 Fix more occurrences of -Wstring-conversion (clang++) 2020-01-16 15:09:45 +01:00
Sébastien Loriot 4365f90a0a hide warning 2020-01-16 14:21:16 +01:00
Sébastien Loriot d97795ef8b use CGAL_error_msg 2020-01-16 14:19:32 +01:00
Sébastien Loriot 4fbd1ed69c use CGAL_warning_msg instead of CGAL_warning to display a message 2020-01-16 14:14:13 +01:00
Mael Rouxel-Labbé 4432031bbf Halfedges_comparator > halfedges_keeper + functor returns kept halfedge 2020-01-16 11:45:26 +01:00
Mael Rouxel-Labbé 57a86afc3b Merge branch 'PMP-Snapping_improvements-GF-old' into PMP-Snapping_improvements-GF 2020-01-15 18:18:24 +01:00
Mael Rouxel-Labbé f80626749f Merge branch 'PMP-Halfedge_comparer_for_stitch_borders-GF-old' into PMP-Halfedge_comparer_for_stitch_borders-GF 2020-01-15 18:04:28 +01:00
Mael Rouxel-Labbé 24aa901970 Rename the halfedges comparator 2020-01-15 18:01:25 +01:00
Mael Rouxel-Labbé 8f3127db40 Clean PMP::stitching code 2020-01-15 17:55:20 +01:00
Laurent Rineau ed4cf46ee0 Merge pull request #4065 from MaelRL/PMP-New_vertex_normal_computations-GF
PMP: add a new way to compute vertex normals
2020-01-15 17:24:02 +01:00
Laurent Rineau 631e383e20 Merge pull request #4132 from MaelRL/PMP-Remove_small_CCs
PMP: remove small connected components
2020-01-15 17:24:00 +01:00
Mael Rouxel-Labbé 3e1a6d0e14 Add missing includes 2020-01-15 13:34:59 +01:00
Mael Rouxel-Labbé 92110e918b Collateral code cleaning 2020-01-15 13:24:54 +01:00
Mael Rouxel-Labbé 30bfd877e2 Enable enforcing which edge is preserved during stitching 2020-01-15 13:21:19 +01:00
Mael Rouxel-Labbé a1115c2ef1 Merge branch 'PMP-Snapping_improvements-GF-old' into PMP-Snapping_improvements-GF 2020-01-15 10:44:49 +01:00
Mael Rouxel-Labbé afdef50f4e Fix using wrong function names 2020-01-15 10:32:19 +01:00
Mael Rouxel-Labbé c08777205a Update tolerances after vertex-vertex snapping
Done to fix foldings appearing when a post-vertex-vertex-snap vertex wants
to snap to the first non-incident edge on the other border
2020-01-15 10:28:14 +01:00
Mael Rouxel-Labbé 92087b5e88 Minor debug code cleaning 2020-01-15 10:27:56 +01:00
Mael Rouxel-Labbé b027690f3f Only do source-target analysis for border vertices 2020-01-14 18:17:23 +01:00
Mael Rouxel-Labbé e62850808a Use proper VPM type 2020-01-14 18:17:06 +01:00
Mael Rouxel-Labbé 1e3c819c1e Add debug code to dump matches 2020-01-14 18:16:29 +01:00
Mael Rouxel-Labbé 420f3e1186 Do not enforce same type of halfedge ranges 2020-01-14 17:45:03 +01:00
Mael Rouxel-Labbé 007d7da906 Fix verbose macro 2020-01-14 17:44:24 +01:00
Mael Rouxel-Labbé d8c15b6513 Don't stack tolerances in vertex-vertex snapping 2020-01-14 17:43:15 +01:00
Mael Rouxel-Labbé 81b244683e Remove unused typedef 2020-01-14 17:42:50 +01:00
Maxime Gimeno 85712ba28c WIP replacing tbb deprecated includes. 2020-01-14 15:03:20 +01:00
Mael Rouxel-Labbé 06a462695f Use new API 2020-01-13 10:46:05 +01:00
Mael Rouxel-Labbé 467303da1f Add convenience function to transform a vertex range into a halfedge range 2020-01-13 10:45:30 +01:00
Mael Rouxel-Labbé d4e952f98c Fix range being all border halfedges after simplification 2020-01-10 18:13:23 +01:00
Mael Rouxel-Labbé dcf056c94c Fix calling function that doesn't exist anymore 2020-01-10 18:13:02 +01:00
Mael Rouxel-Labbé 694363a860 Improve debug code 2020-01-10 18:12:46 +01:00
Mael Rouxel-Labbé 0c73fd740a Fix moving only the first vertex of a group of vertices being snapped 2020-01-08 18:07:26 +01:00
Mael Rouxel-Labbé bda619e538 Improve checks detecting the creation of degenerate faces 2020-01-08 18:05:33 +01:00
Mael Rouxel-Labbé ffb8c63742 Tiny indentation fixes 2020-01-07 17:16:27 +01:00
Mael Rouxel-Labbé 967aaa5d35 Fix only hiding part of the aniso metric code 2020-01-07 17:15:42 +01:00
Mael Rouxel-Labbé 52f5ee6fc1 Fix missing header include 2020-01-07 17:15:32 +01:00
Mael Rouxel-Labbé eeeb5929ca Clean debug code 2020-01-06 10:53:51 +01:00
Mael Rouxel-Labbé 159a46c08b Update license headers 2020-01-02 16:15:04 +01:00
Mael Rouxel-Labbé 743228a250 Merge branch 'PMP-Make_remove_self_intersections_local-GF-old' into PMP-Make_remove_self_intersections_local-GF 2020-01-02 16:02:08 +01:00
Mael Rouxel-Labbé a53a66013d Add some verbose macro 2020-01-02 09:32:43 +01:00
Mael Rouxel-Labbé b005350f37 more debug code, exact 32bit doesn't seem deterministic 2019-12-30 11:25:21 +01:00
Mael 0f4986f82b Merge branch 'master' into PMP-New_vertex_normal_computations-GF 2019-12-26 19:37:59 +01:00
Sébastien Loriot e80f869147 Merge remote-tracking branch 'cgal/master' 2019-12-20 09:35:45 +01:00
Mael 1a4b8e8dc0
more debug code for Debian 32 2019-12-18 09:09:38 +01:00
Mael 8cdcd006f0
Use 'seed' even when TBB is not linked 2019-12-17 17:57:54 +01:00
Sebastien Loriot 65072b4a33
copy-paste error 2019-12-16 10:15:07 +01:00
Sebastien Loriot 1ff278eb35
copy-paste error 2019-12-16 10:14:33 +01:00
Sebastien Loriot a777e02da3
copy-paste error 2019-12-16 10:13:56 +01:00
Sébastien Loriot 2f32876c8f add vertex point map 2019-12-13 11:59:16 +01:00
Sébastien Loriot 49d3656731 use generic type 2019-12-13 10:57:57 +01:00
Sébastien Loriot 0189379767 update doc after review 2019-12-13 10:47:17 +01:00
Sébastien Loriot d46eb99644 add clipping overload to a iso-cuboid 2019-12-13 08:32:48 +01:00
Mael Rouxel-Labbé 257ad60fef More debug code to understand Debian 32 2019-12-12 09:42:03 +01:00
Mael Rouxel-Labbé 7af0704cea Reintegrate the callback within the call to box_intersection_d()
This is motivated by the fact that if you have a configuration
where there is a large number of boxes intersection (such as
k*n^2, with n being the number of faces), then the size
of the concurrent container can be very large and thus
the memory footprint would be huge.

Instead, since the box_intersection_d call is now parallel,
we can just do callbacks in the tree directly. The only thing is,
we want to have these (heavy) callback calls to be roughly balanced.
For this, we random shuffle the range of faces.

Same runtime as before, no more huge memory footprint!
2019-12-11 09:52:52 +01:00
Laurent Rineau d4b5bad692 Fix a compilation error 2019-12-09 15:45:29 +01:00
Laurent Rineau 3a963288ef Merge remote-tracking branch 'cgal/master' into Installation-fix_check_of_documented_headers__for_5.1-GF 2019-12-09 15:23:22 +01:00
Laurent Rineau 8db15111a4 Merge branch 'releases/CGAL-5.0-branch' into Installation-fix_check_of_documented_headers-GF 2019-12-09 15:08:33 +01:00
Laurent Rineau 9149d26492 Fix check headers
Before this commit, headers with their own documentation pages, but
not referenced in other documentation pages, were not considered as
documented. This is a fix.
2019-12-09 15:07:10 +01:00
Mael Rouxel-Labbé b90128af9d Fix unused warning 2019-12-06 09:14:27 +01:00
Mael Rouxel-Labbé 16836091af Remove documentation of non-existent parameter 2019-12-06 09:01:12 +01:00
Mael 7db5153f6d
Merge branch 'master' into PMP-Remove_small_CCs 2019-12-05 12:19:31 +01:00
Laurent Rineau 80ef3b832c Merge pull request #4175 from MaelRL/PMP-Stitch_borders_returns_number_of_stitched_pairs-GF
PMP: stitch borders returns number of stitched pairs
2019-12-05 11:05:44 +01:00
Laurent Rineau 0fa0c4fbb9 Merge pull request #4244 from maxGimeno/AABB_tree-Make_accelerate_distance_queries_default-maxGimeno
AABB_tree: make accelerate distance queries default
2019-12-05 11:05:35 +01:00
Laurent Rineau 3b5d13f023 Merge pull request #4250 from maxGimeno/PMP-Side_of_tm-use_bbox-maxGimeno
PMP: Make Side_of_triangle_mesh faster for disjoint meshes
2019-12-05 11:05:29 +01:00
Laurent Rineau 2589d55c05 Merge pull request #4254 from MaelRL/PMP-Remove_needles_and_caps-GF
Add experimental code to remove needles and caps using flips and collapses
2019-12-05 11:05:25 +01:00
Mael Rouxel-Labbé 57fed1416a Factorize code creating throwing output iterators 2019-12-04 09:10:49 +01:00
Mael Rouxel-Labbé b210bf3f08 Fix conflict in struct names 2019-12-03 19:56:00 +01:00
Mael Rouxel-Labbé e9e3d9b5b0 Add missing includes 2019-12-03 16:23:35 +01:00
Mael Rouxel-Labbé c526d40b44 Fix throwing as soon as boxes intersect and not checking for actual intersection 2019-12-03 16:17:53 +01:00
Mael Rouxel-Labbé 6bd31f593e Minor doc fix 2019-12-03 14:30:11 +01:00
Mael Rouxel-Labbé cbf78b3de1 Minor doc / comment changes 2019-12-03 12:11:19 +01:00
Mael Rouxel-Labbé c0921a5e53 Fix collecting all intersecting pairs before throwing + fix NP improper forward 2019-12-03 12:00:31 +01:00
Sébastien Loriot b67c16d6d4 remove license notice 2019-12-02 17:24:51 +01:00
Mael Rouxel-Labbé 0191d868fa Simplify and clean parallel code for PMP::self_intersections 2019-12-02 16:39:58 +01:00
Mael f01f25234b
Merge branch 'master' into PMP-Stitch_borders_returns_number_of_stitched_pairs-GF 2019-12-02 16:25:43 +01:00
Mael Rouxel-Labbé 783d5df98c TMP DEBUG CODE 2019-11-28 18:39:28 +01:00
Mael Rouxel-Labbé 908da8cdf7 Fix some debug macros 2019-11-28 18:39:12 +01:00
Mael Rouxel-Labbé e50b54a8b8 Minor cleaning 2019-11-28 18:28:19 +01:00
Mael Rouxel-Labbé b604d066d7 Mute an output from PMP::repair_polygon_soup when there's nothing interesting 2019-11-28 15:49:48 +01:00
Mael Rouxel-Labbé b403f2afdc PMP::Snap 2.0
About fully rewritten
- Make vertex-vertex snapping immediately two way in a single function call
- factorize vertex-edge code
- Greatly improve robustness through a bunch of heurestics
- Make it possible to simplify borders and lock borders
- Simplify code in many places
- Parallelize vertex-vertex box_intersection_d calls
- Clarify types and variables
- etc.
2019-11-28 15:45:06 +01:00
Mael Rouxel-Labbé 9ae08f7277 Add a convenience function to get the number of edges on a border
Can't use degree(f) since it is the null face...
2019-11-28 15:43:58 +01:00
Mael Rouxel-Labbé d13f4f8ddc Merge remote-tracking branch 'mine/PMP-Remove_small_CCs' into PMP-Snapping_improvements-GF 2019-11-22 14:27:59 +01:00
Sébastien Loriot 23d41c50a6 handle case of a halfedge on the boundary (ignore in the if after) 2019-11-22 11:24:47 +01:00
Mael Rouxel-Labbé e73b973b62 Use Parallel_if_available_tag to simplify code that used CGAL_LINKED_WITH_TBB 2019-11-20 12:24:54 +01:00
Mael Rouxel-Labbé 41bb11cdee Make unique indentation style a little less unique (no real changes) 2019-11-19 17:08:25 +01:00
Mael Rouxel-Labbé b6dd62be52 Use ID_FROM_BOX_ADDRESS in Box_with_info_d where safe
That is, where we are passing box ranges by pointer.

See also 52ce0b6ac4
2019-11-19 17:06:47 +01:00
Mael Rouxel-Labbé ac86fadd7a Misc code formatting improvements 2019-11-19 12:51:17 +01:00
Mael Rouxel-Labbé 09419dca5c More work towards local self-intersection removal (bug fixes, etc.) 2019-11-18 12:06:42 +01:00
Andreas Fabri a44674a694 Add ConcurrencyTag in Box_intersection_d 2019-11-15 21:45:19 +01:00
Andreas Fabri bef2b5f1b8 Parallelize using 2 or 4 parallel threads 2019-11-15 16:21:25 +01:00
Andreas Fabri 40fbe18dcd Merge branch 'Box_intersection_d-accelerate-GF' of github.com:afabri/cgal into Box_intersection_d-accelerate-GF 2019-11-15 12:55:43 +01:00
Mael a47f0ee91d
Fix inconsistency in doc/code parameter names 2019-11-15 12:03:18 +01:00
Mael ff960adea0
Fix namespace lookup issue (and a warning) 2019-11-14 17:08:58 +01:00
Andreas Fabri 3caad9bc88 Remove #include 2019-11-14 13:26:47 +01:00
Andreas Fabri f033e0a244 Cleanup 2019-11-14 11:45:37 +01:00
Andreas Fabri 899b9ec384 Remove experimental code 2019-11-14 11:31:50 +01:00
Andreas Fabri 45cd4dc8bf remove parameter; Add ConcurrencyTag to does_self_intersect 2019-11-14 11:21:40 +01:00
Sébastien Loriot e4b205bca6 update doc + reorder/factorize code 2019-11-14 06:31:43 +01:00
Sébastien Loriot ceddeb9756 hide debug code 2019-11-13 15:55:08 +01:00
Andreas Fabri 5ea8d36129 Do not use a concurrent_vector 2019-11-13 09:35:48 +01:00
Andreas Fabri 2d14c67304 Remove unused class Output_iterator_with_bool 2019-11-13 09:07:10 +01:00
Andreas Fabri a35a7ebf9b fix a reserve() 2019-11-12 18:40:17 +01:00
Andreas Fabri 343ca0b4a7 Add the version that reports all pairs of faces and performs the intersection tests in parallel 2019-11-12 18:27:32 +01:00
Andreas Fabri 732d1d8f8a Add overloads with ConcurencyTag 2019-11-12 16:32:08 +01:00
Andreas Fabri fc72b37db4 Functor cleanup 2019-11-12 15:31:26 +01:00
Andreas Fabri 899d8f7b59 cleanup 2019-11-12 13:01:26 +01:00
Andreas Fabri ead0da3c77 WIP: not the same number of intersections for Tuyaeaux.stl 2019-11-12 11:40:40 +01:00
Mael Rouxel-Labbé a191211494 Rephrase named parameter documentation 2019-11-12 11:22:06 +01:00
Mael Rouxel-Labbé 3b738f0e95 Fix broken edge-case in keep_largest_CCs
Even if there's a single CC, a user may still want to keep 0 (who knows why,
but that's not the question).
Also, if number_to_keep == number_of_CCs, you can also exit early.
2019-11-12 11:05:03 +01:00
Mael Rouxel-Labbé c065b35ee5 Document new named parameters 2019-11-12 10:59:20 +01:00
Mael Rouxel-Labbé 791a5277d2 Add an output iterator to keep_large(st)/small_CCs (+dry run if needed)
The point is to be able to collect the faces if you do a dry run
2019-11-12 10:58:18 +01:00
Andreas Fabri b6bc521c22 WIP does not even compile 2019-11-08 16:21:20 +01:00
Andreas Fabri e18413c9b5 fixes 2019-11-07 21:26:53 +01:00
Andreas Fabri 21bd1af505 Avoid chains of next and target 2019-11-07 17:54:46 +01:00
Sébastien Loriot b9a079b530 remove cpp11/cpp0x 2019-11-04 11:34:53 +01:00
Sébastien Loriot 9a0bff4008 remove BOOST_FOREACH added by recent PRs 2019-11-04 10:59:15 +01:00
Mael Rouxel-Labbé c15f8e0c70 Do not allow non-conformal snapping to snap onto stitchable pairs 2019-10-31 13:48:55 +01:00
Mael Rouxel-Labbé 5637390346 Return stitchable halfedge pairs in vertex-vertex snapping 2019-10-31 13:48:26 +01:00
Laurent Rineau 416cbbcf47 Merge pull request #4277 from MaelRL/PMP-Locate_rework_traits-GF
PMP: Replace `Location_traits` by a simpler API
2019-10-29 15:23:41 +01:00
Mael Rouxel-Labbé e0d42f0e37 Rephrase documentation 2019-10-28 14:41:37 +01:00
Mael Rouxel-Labbé f058989e9b Misc minor changes in tests 2019-10-28 14:38:46 +01:00
Mael Rouxel-Labbé 4401a80642 Do not do useless computations (check for negative thresholds) 2019-10-28 14:37:38 +01:00
Mael Rouxel-Labbé 20c446df41 Clarify documentation 2019-10-28 14:37:04 +01:00
Mael ab65cc9800
Merge branch 'master' into PMP-Remove_small_CCs 2019-10-28 09:07:45 +01:00
Mael fe681a2edb
Merge branch 'master' into PMP-New_vertex_normal_computations-GF 2019-10-28 08:52:52 +01:00
Mael Rouxel-Labbé ff09c5d0c8 Merge branch 'SMS-Add_GH_simplification-GF-old' into SMS-Add_GH_simplification-GF 2019-10-25 16:35:53 +02:00
Sébastien Loriot 254d60f642 First pass on removing license notice in header for GPL files 2019-10-19 15:23:19 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Mael Rouxel-Labbé 7e9f1e9acc Fix compilation error in area()
(Re-add some code removed instead of moved in
0f7de56d76)
2019-10-18 23:42:45 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Maxime GIMENO 63a6dc2a4b
Fix typo
Co-Authored-By: Mael <mael.rouxel.labbe@geometryfactory.com>
2019-10-18 16:01:43 +02:00
Laurent Rineau 2edcf7b033 Merge pull request #4269 from maxGimeno/PMP-Fix_doc_macro-maxGimeno
PMP: Fix doc macro
2019-10-18 14:17:19 +02:00
Mael Rouxel-Labbé 0f7de56d76 Move a number of Named Parameter type extractor from CGAL::PMP:: to PMP::
These are used in a number of pacakges other than PMP and the code
is also already in /BGL. None are documented.
2019-10-17 12:41:30 +02:00
Laurent Rineau c58815d7c7 Merge pull request #4269 from maxGimeno/PMP-Fix_doc_macro-maxGimeno
PMP: Fix doc macro
2019-10-15 16:34:06 +02:00
Mael Rouxel-Labbé 77e0937fb2 Uniformize tparam formulation 2019-10-15 13:13:16 +02:00
Sébastien Loriot 052be439e5 fix indentation and missing blank line 2019-10-10 11:37:30 +02:00
Sébastien Loriot acec5469fe lazily build the tree 2019-10-10 08:00:41 +02:00
Mael Rouxel-Labbé 3801a35eb3 Tiny fixes 2019-10-08 16:03:51 +02:00
Mael Rouxel-Labbé 0b67e30c01 Improve user-friendliness of PMP::Locate by removing the class Location_traits
The problem was that Location_traits is templated by Named Parameters, and
it is extremely unpractical to have to explicitly write the type (it's nested
classes all the way down).

Instead, we use template aliases for most types, and template by the field
type (FT) when necessary, which is much easier to write for the user.

Since template aliases cannot automatically deduce template parameters,
non-Doxygen versions of functions must be written without them
from time to time.

Other fixes:
- Simplify implementation of function 'random_location_halfedge'
- Don't initialize FTs from doubles
- Minor doc improvements
- reference to points when using VPMs
2019-10-08 15:54:08 +02:00
Maxime Gimeno a4947324e9 clean-up and new tests 2019-10-04 13:13:00 +02:00