Commit Graph

3400 Commits

Author SHA1 Message Date
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
Sébastien Loriot 23f66eeed3 splitter vpm is not needed to duplicate halfedge in tm 2020-02-06 11:48:46 +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é 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é 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 e9ca254a31
Fix using old BGL API 2020-02-03 13:27:46 +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 65ee6f8744 remove unused variables and typedefs 2020-01-31 09:38:58 +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 28fa68d4f8 more boost::choose_param 2020-01-28 13:52:02 +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é 57a86afc3b Merge branch 'PMP-Snapping_improvements-GF-old' into PMP-Snapping_improvements-GF 2020-01-15 18:18:24 +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é 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é 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
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
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