Commit Graph

2853 Commits

Author SHA1 Message Date
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é 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é 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
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
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 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
Maxime Gimeno 10f53f8595 Fix the doc 2019-10-01 09:30:29 +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 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
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 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
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é 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