Commit Graph

3893 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 6b58618ba6 Clean code (indentation, trailing whitespace etc.) 2020-03-02 11:42:36 +01:00
Mael Rouxel-Labbé 71f2474944 Fix leftover '///' that ought to be '//'
Causes issues with Doxygen
2020-03-02 09:42:54 +01:00
Mael Rouxel-Labbé c6fa8c03b5 Uniformize todos 2020-03-02 09:42:35 +01:00
Mael 6b147c89a0
Fix doc 2020-02-28 13:59:42 +01:00
Mael 733fd95df7
Misc cleaning 2020-02-28 13:58:19 +01:00
Mael Rouxel-Labbé badbee5c31 Minor doc fixes 2020-02-28 13:27:44 +01:00
Mael Rouxel-Labbé 09efb802c3 Add a line about PMP::PM_to_PS to the user manual + link in ref manual 2020-02-28 13:07:02 +01:00
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é fb64638173 Clean example/test 2020-02-27 16:10:09 +01:00
Mael Rouxel-Labbé 09cb327ac3 Use dummy initialization to silence a warning 2020-02-27 09:19:49 +01:00
Mael Rouxel-Labbé 5f542ffa00 Remove snap examples from PMP-examples' CMakeLists.txt (for now) 2020-02-26 08:58:26 +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é fc9597ac1c Add another test for merge_duplicate_vertices_on_boundary_cycles 2020-02-25 15:23:47 +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é 835ab5a0fb Test polygon_mesh_to_polygon_soup 2020-02-20 11:14:18 +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é 7431c0751a Enhance a bit the test with a dmap instead of the default VPM 2020-02-19 18:14:45 +01:00
Mael Rouxel-Labbé 40be8e4b46 Test named parameters of PMP::PS_to_PM 2020-02-19 18:04:14 +01:00
Mael Rouxel-Labbé a6f7d08e91 Add document for NP::point_map in PMP's named parameters 2020-02-19 18:03:58 +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é 481447f38d Disable EPECK tests (CORE points comparison --> timeouts on testsuites) 2020-02-19 16:17:50 +01:00
Mael Rouxel-Labbé 374870a6cb Misc minor fixes 2020-02-19 16:07:55 +01:00
Maxime Gimeno 7ec84ae69c replace the functor by overloads of a free function 2020-02-18 14:42:53 +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
Mael Rouxel-Labbé a520ac8285 Clean examples 2020-02-11 16:43:10 +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
Simon Giraudot ea30bcc85d Fix remaining CMakeLists.txt 2020-02-10 11:57:56 +01:00
Simon Giraudot 6c8fd43ebb Use CGAL_target_use_* mechanism for Eigen, LASLIB, OpenCV, TensorFlow, GLPK, SCIP, Boost IOStreams and Serialization 2020-02-10 11:57:56 +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 Rouxel-Labbé 119f5b913b Add some data 2020-02-07 16:51:24 +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 226462c295 Merge pull request #4414 from oleg-alexandrov/master
Set the precision when saving a mesh
2020-02-07 16:25:00 +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 3e8b1cc503 Merge pull request #4455 from oleg-alexandrov/holeFill
Add control over hole size in the hole-filling example
2020-02-07 16:24:42 +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é 682254a3b8 Change test's debug macros 2020-02-06 17:19:36 +01:00
Mael Rouxel-Labbé b7ed9716b0 Fix includes to removed header 2020-02-06 17:14:57 +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é 4bc3d85021 Don't test parallel features with EPECK, since it's not threadsafe 2020-02-05 10:54:26 +01:00
Mael Rouxel-Labbé 8773cee832 Minor code improvements 2020-02-05 10:54:11 +01:00
Mael Rouxel-Labbé f118be1cbf Add missing data files 2020-02-05 09:35:41 +01:00
Mael c2f99dc723
Actually use TBB in test... 2020-02-04 18:18:45 +01:00
Mael e33fa57213
Use new tag in PMP tests 2020-02-04 18:15:04 +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é 55afaf713f Add some tests of meshes with degeneracies 2020-02-04 16:01:39 +01:00
Mael Rouxel-Labbé 20ed45589f Add some tests of meshes with degeneracies 2020-02-04 15:58:00 +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 7ff12d67cb
Tiny test verbose change (std::flush to std::endl) 2020-02-04 12:17:50 +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é a9f29a51d9 Tests improvements 2020-02-03 18:13:05 +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
Mael 071fe09661
Add missing example name 2020-02-03 10:30:17 +01:00
Mael 42a03ae168
Add missing header 2020-02-03 10:29:35 +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 28ee64dbf2 Add missing data 2020-01-31 09:29:54 +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 d4f438eaba Fixup doc 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
Maxime Gimeno dd6cf454dc add precision(17) to most examples involving surface_mesh or polyhedron. 2020-01-17 09:58:44 +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é c09741f1f2 Improve PMP::stitching tests 2020-01-15 13:25:09 +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é 5089dcf40a Tiny compilation fix 2020-01-15 10:41:50 +01:00
Mael Rouxel-Labbé bf43be4bf9 Update tests to use new API 2020-01-15 10:32:36 +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
Sébastien Loriot def8ebda4b improve example by using CGAL functions 2020-01-09 08:19:30 +01:00
Oleg Alexandrov cec720a69c Add control over hole size in the hole-filling example 2020-01-08 18:25:25 -08: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é 6dce5f3115 Disable tests using EPECK (for performance reasons) 2020-01-06 11:05:00 +01:00
Mael Rouxel-Labbé eeeb5929ca Clean debug code 2020-01-06 10:53:51 +01:00
Mael Rouxel-Labbé e388e63e0b Require Core for PMP/test/pmp_compute_normals_test 2020-01-06 10:53:13 +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é 1513752559 Switch the test to exact square root computations 2020-01-02 09:33:41 +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 79756e56cd
Disable tests that work (tmp - will be removed) 2019-12-18 09:10:43 +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
Mael Rouxel-Labbé a1adb5fc94 Use correct parallel tags in the example 2019-12-03 12:00:09 +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é 7cdd079820 Add two examples for PMP::snap (self-snapping and organic/fixed snapping) 2019-11-28 15:47:46 +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é 0ddece5c81 Try to fix some weird assertion in a 32 bit test 2019-11-25 09:43:41 +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é 47c0ce254e Enrich example 2019-11-19 18:40:34 +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é 9ef1c976c6 Use one of the tests of self_intersection.h to test the parallel tags 2019-11-19 12:51:36 +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 dff631f2bf
Fix namespace 2019-11-15 10:14:21 +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é 8657c8dc1b Add more tests 2019-11-12 10:59:37 +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
Laurent Rineau 6a2e40f814 Merge pull request #4277 from MaelRL/PMP-Locate_rework_traits-GF
PMP: Replace `Location_traits` by a simpler API
2019-11-06 17:45:37 +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
Mael 4d1ae09d6d
Fix unused typedef warning 2019-10-30 09:58:23 +01:00
Mael Rouxel-Labbé 957e67247c Merge branch 'PMP-Locate_rework_traits-GF-old' into PMP-Locate_rework_traits-GF 2019-10-29 15:27:24 +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 2caae76bc5 Merge pull request #4262 from MaelRL/PMP-Fix_missing_images_and_history-GF
PMP (and changelog): Fix misc errors in 5.0-beta1
2019-10-15 16:34:11 +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é d9328b1131 Data file for PMP Location tests 2019-10-08 15:57:34 +02:00
Mael Rouxel-Labbé 22092a357a Update tests of PMP::Locate (and fix some VPM usages) 2019-10-08 15:55:17 +02:00
Mael Rouxel-Labbé 413d4986bc Add an example showing the usage of PMP::Locate 2019-10-08 15:55:17 +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
Maxime Gimeno c276ddaca0 fix warning 2019-10-04 09:55:30 +02:00
Maxime Gimeno cf4e1b4bd6 Add missing macro definition 2019-10-03 12:15:46 +02:00
Maxime Gimeno 0c26c6c3e8 Add missing macro def 2019-10-03 12:14:41 +02:00
Maxime Gimeno 9e3b59e55d Add missing macro def 2019-10-03 12:07:47 +02:00
Maxime Gimeno fe746764cf remove the bool. 2019-10-02 15:20:18 +02:00
Mael 187906a3d9
Fix extension .jpg ---> .png 2019-10-02 10:05:50 +02:00
Maxime Gimeno 130d4a5e24 remove useless bool 2019-10-02 09:56:07 +02:00
Maxime Gimeno e42c87b54f add the missing box 2019-10-02 09:35:41 +02:00
Mael Rouxel-Labbé e834971904 Minor code fixes 2019-10-01 13:03:43 +02:00
Mael Rouxel-Labbé 978a3f9504 Minor doc fixes 2019-10-01 13:03:29 +02:00
Maxime Gimeno efab5a5049 update doc of dry_run 2019-10-01 10:26:39 +02:00
Maxime Gimeno c18ad651d6 Fix last constro 2019-10-01 10:19:54 +02:00
Maxime Gimeno c42d1b3cfd test the dry_run 2019-10-01 09:56:37 +02:00
Maxime Gimeno 1a429d03e4 Add dry_run to keep_large_components() and remove_connected_components_of_negligible_size9) 2019-10-01 09:47:00 +02:00
Mael Rouxel-Labbé d4f960277b Add some history to PMP 2019-10-01 09:37:40 +02:00
Maxime Gimeno 10f53f8595 Fix the doc 2019-10-01 09:30:29 +02:00
Mael Rouxel-Labbé 3b2cce1c5f Fix images not showing up 2019-10-01 09:01:47 +02:00
Maxime Gimeno 546be7aff7 Add a `dry_run` parameter to `keep_large_connected_components()` 2019-09-30 15:49:36 +02:00
Maxime Gimeno 3bcd8810e5 update doc 2019-09-27 14:40:35 +02:00
Maxime Gimeno 1916821995 Fix copy_nested_parents 2019-09-27 13:23:56 +02:00
Maxime Gimeno 8583935ae8 Use the functions where possible 2019-09-27 11:50:55 +02:00
Sébastien Loriot ee8528e02b fix the test 2019-09-27 11:45:57 +02:00
Sébastien Loriot 429bf8676b fix handling of constrained vertices in geometric test for collapse 2019-09-27 11:15:34 +02:00
Sébastien Loriot 80a462d9a4 disable the max length test if 0 is given as threshold 2019-09-27 11:08:10 +02:00
Sébastien Loriot 6cedfac39a move code to internal/experimental and example to test
also update test that was no longer compiling
2019-09-27 08:35:03 +02:00
Maxime Gimeno 97a3390457 Wrap the mechanism in 3 functions with 3 types to reduce the number of template parameters to 2. 2019-09-26 16:31:38 +02:00
Maxime Gimeno b831e41013 Use a bbox in Side-of_triangle_mesh until a request is inside, only then use the tree. Make it faster when working with disjoint meshes. 2019-09-25 13:03:12 +02:00
Mael Rouxel-Labbé e37d708f62 Fix target mesh being geometrically modified during non-conformal snapping 2019-09-25 10:32:40 +02:00
Mael Rouxel-Labbé 3bd071175e Tiny optimization 2019-09-25 09:40:21 +02:00
Mael Rouxel-Labbé 2049e9e90c Add support for VCM 2019-09-25 09:26:25 +02:00
Mael Rouxel-Labbé a6ff330190 Use traits' functors 2019-09-24 17:32:50 +02:00
Mael Rouxel-Labbé 898663245f Allow needle/cap/length threshold to be passed as NP
+ edge constraint map
+ general code cleaning
2019-09-24 16:58:10 +02:00
Maxime Gimeno bf0e52cf6e Incorporate the initialization of the map to the helpers. 2019-09-24 16:36:57 +02:00
Maxime Gimeno 5a4dc7733c blah 2019-09-24 15:39:01 +02:00
Maxime Gimeno d18191db46 rename helper and add detect if map is writable (need_init is true in that case) 2019-09-24 14:15:01 +02:00
Maxime Gimeno a52592909f Remove all calls to accelerate_distance_queries(), now redundant. 2019-09-24 11:44:20 +02:00
Mael Rouxel-Labbé 9b3da64b8c Merge branch 'PMP-Remove_needles_and_caps-GF-old' into PMP-Remove_needles_and_caps-GF 2019-09-24 09:54:30 +02:00
Mael Rouxel-Labbé 05fdacd6bf Clean code 2019-09-24 09:42:06 +02:00
Sébastien Loriot 168463e038 remove extra assertion 2019-09-24 08:51:22 +02:00
Sébastien Loriot 1a4c47d6b4 update macro name 2019-09-19 12:47:48 +02:00
Laurent Rineau ebcd182b5c Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2019-09-17 14:31:44 +02:00
Maxime Gimeno d893b694f4 Don't use "using parameters::choose_param" 2019-09-17 10:11:12 +02:00
Sébastien Loriot ca3a9d2111 update example 2019-09-12 10:56:27 +02:00
Sébastien Loriot e1366dd184 flip only if the flip is the best quad diagonal 2019-09-12 10:52:41 +02:00
Sébastien Loriot 31e44f2580 keep the vertex minimizing the volume variation 2019-09-11 16:04:25 +02:00
Sébastien Loriot 7cf0c7daad add a geometric test to prevent folding and self-intersections 2019-09-11 14:44:27 +02:00
Sébastien Loriot 5e736889d2 make sure all elements are removed during one call of the function
an additional call should not do anything
2019-09-11 07:06:23 +02:00
Sébastien Loriot d47f3f57a3 Test the opposite triangle too (same edge = same key) 2019-09-10 17:27:03 +02:00
Sébastien Loriot f3c2ae6b98 re-evaluate triangles after changes 2019-09-10 14:34:26 +02:00
Sébastien Loriot fe2daaae75 retest the validity of the criteria before doing the operations
+ add debug code to dump model before the operation
2019-09-10 10:27:12 +02:00
Laurent Rineau df99307140 Merge branch 'releases/CGAL-4.14-branch' 2019-09-09 16:48:23 +02:00
Laurent Rineau 9abee11ee8 Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-09-09 16:43:29 +02:00
Laurent Rineau d00369432b
PMP: Fix ctestsuite (#4128)
PMP: Fix ctestsuite
2019-09-09 16:36:53 +02:00
Maxime Gimeno f9074ce00a remove capital and make vec const 2019-09-06 15:51:35 +02:00
Sébastien Loriot 89c1c4b3e8 check if the edge to be collapsed still verify the needle criteria 2019-09-06 15:35:03 +02:00
Maxime Gimeno 5fdcb3c83e Replace the hardcoded std::vector<> of the NPs by a more flexible concept, and add functions for copy. 2019-09-06 11:45:42 +02:00
Sébastien Loriot ee537eb89c do not iterate on a container if we remove elements from it 2019-09-06 11:41:19 +02:00
Sébastien Loriot acb8b8ffa2 split the function checking for needles and caps and use it to avoid inifinite flipping loops 2019-09-06 10:35:29 +02:00
Mael Rouxel-Labbé d6bb0e5bf0 Use a generic dynamic pmap rather than the specific edge_is_feature one
Don't want the state of a feature edge to be remembered from one step
of the algorithm to the other
2019-09-05 15:58:57 +02:00
Mael Rouxel-Labbé 0c497580cd Misselleneaous... Miscalleneous.. Miscenalleous... Miscelleanous... Misc cleaning! 2019-09-05 15:52:34 +02:00
Mael Rouxel-Labbé c2d3ee8e1e Add hole-filling with constraints as a fourth possible step to treat local SI
It is tried before hole-filling without constraints, which is used as a last
resort (before non-local hole-filling)
2019-09-05 15:32:06 +02:00
Maxime Gimeno 0b71f00eb5 Add a bitset to foes_bound_a_volume and add a hidden test for all possible orientations of nested_cubes. 2019-09-05 14:27:36 +02:00
Sébastien Loriot 64cd7b67c2 hide debug 2019-09-05 11:26:12 +02:00
Sébastien Loriot 44efc0730b add missing doc 2019-09-05 08:19:21 +02:00
Sébastien Loriot e5a8da9c91 rephrase 2019-09-05 08:12:03 +02:00
Sébastien Loriot 2e8b3ec7a5 remove BOOST_FOREACH 2019-09-05 08:10:11 +02:00
Maxime Gimeno 54895543b3 Fix boost::get_param and bad if() 2019-09-04 17:04:20 +02:00
Maxime Gimeno ccf338b9b7 Merge remote-tracking branch 'cgal/master' into PMP-volume_segmentation 2019-09-04 14:58:16 +02:00
Maxime Gimeno d285d4aae2 Fix mechanism and adapt cc test for polyhedron with no id 2019-09-04 14:00:08 +02:00
Sébastien Loriot a5e3841a14 reduce expression + improve test 2019-08-30 17:43:21 +02:00
Sébastien Loriot 7fd73c3919 use the new function to implement orient_to_bound_a_volume
the former implementation was recursive

    this makes the implementation non-recursive
2019-08-30 17:25:21 +02:00
Mael Rouxel-Labbé 2c06609445 Fix some warnings 2019-08-30 16:22:50 +02:00
Sébastien Loriot 5fe1b43ce6 Merge pull request #4139 from MaelRL/PMP-Fix_duplicate_nm_vertices_5.0-GF
PMP: Fix improper halfedge incidence state in post non-manifold vertex duplication mesh  (5.0)
2019-08-29 20:10:16 +02:00
Sébastien Loriot 73ff5f610b Merge pull request #4174 from MaelRL/PMP-Fix_boundary_cycle_stitching_5.0-GF
PMP: Fix boundary cycle when non manifold vertices exist in the cycle (5.0)
2019-08-29 20:09:34 +02:00
Sebastien Loriot 201a4b8ff8
Merge pull request #4176 from MaelRL/PMP-Fix_boundary_cycle_nm_vertices-4.14-GF
PMP: Fix boundary cycle when non manifold vertices exist in the cycle (4.14)
2019-08-29 19:52:12 +02:00
Sebastien Loriot 98f3847cf1
Merge pull request #4137 from MaelRL/PMP-Fix_duplicate_nm_vertices_414-GF
PMP: Fix improper halfedge incidence state in post non-manifold vertex duplication mesh (4.14)
2019-08-29 19:51:17 +02:00
Sebastien Loriot aa3b75a596
Merge pull request #4178 from janetournois/PMP-fix_isotropic_remeshing_degenerate_flip-jtournois
`PMP::isotropic_remeshing()` - prevent creating non-manifold configurations
2019-08-29 07:32:44 +02:00
Andreas Fabri 4bedab0ef4 Do not use free function 2019-08-28 15:56:51 +02:00
Mael Rouxel-Labbé c6d20b9c7c Tiny verbose addition 2019-08-28 14:56:44 +02:00
Sébastien Loriot 0e7d85ca07 add TODO 2019-08-27 08:29:44 +02:00
Sébastien Loriot 09de5587a6 remove no longer used function 2019-08-27 08:13:24 +02:00
Sébastien Loriot 8c27d11fdb use the new function to implement does_bound_a_volume
this makes the implementation non-recursive
2019-08-27 08:10:12 +02:00
Sébastien Loriot 551313ac5c Merge branch 'cgal/releases/CGAL-4.14-branch' 2019-08-27 06:37:23 +02:00
Sébastien Loriot f0fb56233a Merge 'cgal/releases/CGAL-4.13-branch' 2019-08-27 06:36:39 +02:00
Mael Rouxel-Labbé e9d1841a5f Merge branch 'PMP-Make_remove_self_intersections_local-GF-old' into PMP-Make_remove_self_intersections_local-GF 2019-08-26 16:00:37 +02:00
Mael Rouxel-Labbé c2cb44175b Add a reference to the paper 2019-08-26 13:24:51 +02:00
Mael Rouxel-Labbé 61ef88f2de Clean example 2019-08-26 13:24:43 +02:00
Mael Rouxel-Labbé 9ea2f668a6 Fix data file links 2019-08-26 13:19:40 +02:00
Mael Rouxel-Labbé d9c73a1b35 Properly test the family of normal computation functions 2019-08-26 13:06:39 +02:00
Mael Rouxel-Labbé 5cf6ec5261 Fix minor bug in 'is_default_parameter' usage 2019-08-26 13:05:50 +02:00
Mael Rouxel-Labbé ae60ff2d15 Robustification of most visible vertex normal computation 2019-08-26 13:05:27 +02:00
Mael Rouxel-Labbé 6da2cebc8d Sqrt -> Approximate_sqrt 2019-08-26 13:04:52 +02:00
Mael Rouxel-Labbé ce9b3a890d Use sin-based weights in the default vertex normal computation 2019-08-26 13:04:24 +02:00
Mael Rouxel-Labbé b9f37cea38 Hide debug code behind macros 2019-08-26 13:03:22 +02:00
Sébastien Loriot 242cce424b add parameters to collect pair of cc intersecting 2019-08-25 13:53:32 +02:00
Sébastien Loriot 83fcb5d24e add new named parmeters to extract more info from the function 2019-08-25 09:46:56 +02:00
Mael Rouxel-Labbé cf35771337 Robustify and incorporate most visible normal computations into standard fns 2019-08-23 16:29:36 +02:00
Maxime Gimeno ed91d4e86e Add doc for new function 2019-08-23 15:41:06 +02:00
Maxime Gimeno a446908575 Use some CRTP voodoo to factorize the mesh and the soup versions of sampling. 2019-08-23 15:40:57 +02:00
Maxime Gimeno cc5b9c7a8a WIP 2019-08-23 15:40:02 +02:00
Maxime Gimeno 9551de0782 Clarify precondition message in polygon_soup_to_polygon_mesh() 2019-08-23 15:39:52 +02:00
Sébastien Loriot 283b52cb8b Revert "move self-intersection computation in an internal function"
This reverts commit 3ae8e0f06f.
2019-08-23 15:33:59 +02:00
Sébastien Loriot 48b72b3fab use c++11 for-range loop 2019-08-23 15:22:01 +02:00
Sébastien Loriot 3ae8e0f06f move self-intersection computation in an internal function 2019-08-23 14:59:59 +02:00
Mael Rouxel-Labbé 195a3319eb Also remove isolated vertices in remove_negligible_CCs 2019-08-23 14:37:16 +02:00
Sébastien Loriot baea5490a4 collect only faces for cc to be handled 2019-08-23 12:00:17 +02:00
Sébastien Loriot e4474d8c3b set point to make sure there is a self-intersection 2019-08-23 11:57:49 +02:00
Mael Rouxel-Labbé bba6e57053 Misc code cleaning 2019-08-23 11:35:34 +02:00
Mael Rouxel-Labbé ad90fa30fd Fix potentially taking references to temporaries
For example, if the vertex point property map returned temporaries
2019-08-23 11:16:01 +02:00
Mael Rouxel-Labbé f05a11dde5 Fix some internal functions not being in the 'internal' namespace 2019-08-23 11:15:41 +02:00
Mael Rouxel-Labbé c65c5e0b42 Merge branch 'PMP-New_vertex_normal_computations-GF-old' into PMP-New_vertex_normal_computations-GF 2019-08-23 11:01:31 +02:00
Mael Rouxel-Labbé 1b76d93a3d Add new test data 2019-08-23 10:35:05 +02:00
Mael Rouxel-Labbé 923bd66ddf Document remove_connected_components_of_negligible_size 2019-08-23 10:33:13 +02:00
Mael Rouxel-Labbé a2e9731b36 Test remove_negligible_CCs more thoroughly 2019-08-23 09:25:20 +02:00
Mael Rouxel-Labbé 68419d1e65 Remove_negligible_CCs now take two new NP: area and volume thresholds
If no treshold is provided, a default value is computed based on the length
of the diagonal of the bbox.
2019-08-23 09:24:17 +02:00
Mael Rouxel-Labbé cd46683b48 Update NP syntax to new standards (choose_parameter / get_parameter) 2019-08-23 09:23:40 +02:00
Mael Rouxel-Labbé 83184032e6 Add a function 'number_of_CCs' for convenience
Just so that we don't have have to create the face map and such
if we only care about the number of CCs
2019-08-23 09:22:54 +02:00
Mael Rouxel-Labbé fad61974d6 Merge branch 'PMP-Remove_small_CCs-old' into PMP-Remove_small_CCs 2019-08-22 14:22:41 +02:00
Mael Rouxel-Labbé 6d2ebc7a6e Minor doc changes 2019-08-22 13:14:45 +02:00
Mael 023dfec313
Add const marker 2019-08-22 09:06:02 +02:00
Mael be20ddb568
Add const marker 2019-08-22 09:05:14 +02:00
Mael d2349066af
Add const marker
Co-Authored-By: Sebastien Loriot <sloriot.ml@gmail.com>
2019-08-22 09:03:01 +02:00
Mael Rouxel-Labbé 4bca5d114f Rephrase end condition 2019-08-21 17:07:44 +02:00
Mael Rouxel-Labbé afec55f375 Rephrase end condition 2019-08-21 17:06:55 +02:00
Mael Rouxel-Labbé 799916d7c5 Rephrase end condition 2019-08-21 17:04:39 +02:00
Mael Rouxel-Labbé a1039b9d33 Fix boundary cycle stitching when nm vertices are present 2019-08-21 16:51:58 +02:00
Mael Rouxel-Labbé b23151b598 Update stitch_borders() tests to verify that we stitched what was expected 2019-08-21 16:25:09 +02:00
Mael Rouxel-Labbé b60f1f5205 stitch_borders() now returns the number of halfedge pairs that were stitched 2019-08-21 16:24:34 +02:00
Mael Rouxel-Labbé 9bd79323f6 Change guard name 2019-08-21 16:15:57 +02:00
Mael Rouxel-Labbé 7c09f56889 Minor changes to enable debug code 2019-08-21 16:10:04 +02:00
Mael Rouxel-Labbé 0d77358328 Update to test to have a correct expected value 2019-08-21 16:06:23 +02:00
Mael Rouxel-Labbé 13f9d60518 Fix boundary cycle stitching when non-manifold vertices are present 2019-08-21 16:05:04 +02:00
Mael Rouxel-Labbé 7f55980ac6 Misc debug and code cleaning (no real changes) 2019-08-21 16:02:53 +02:00
Simon Giraudot dd5fe73996 Document type of iterator (random access) 2019-08-21 15:43:50 +02:00
Simon Giraudot 790ed44613 Fix distance range type 2019-08-21 14:51:04 +02:00
Jane Tournois 77c8e68e07 fix the use of flip() inside fix_degenerate_faces()
the topological condition should be a strong condition, not an assertion
2019-08-20 17:23:32 +02:00
Maxime Gimeno a8bccc6e41 restore the bool parameter and use ittogether with the `init_XXX_indices` helper functions. 2019-08-19 12:55:17 +02:00
Maxime Gimeno 4f0d883b27 WIP map_getter helper 2019-08-16 16:01:26 +02:00
Maxime Gimeno 3b38ede8c4 Add CGAL_USE to manage case where assertions are ignored 2019-08-14 13:22:19 +02:00
Andreas Fabri 7db6c8e670 make const & 2019-08-12 07:51:32 -07:00