Commit Graph
4574 Commits
Author SHA1 Message Date
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
Sébastien Loriot 820621b7b7 make sure that an edge registered for split is the first one if non-manifold
(coplanar case)
2019-11-25 10:56:51 +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
Sébastien Loriot afcf0775fb use the non-manifoldness of the vertex to collect incident edges
we might be missing some edges that are incident to the non-manifold vertex
Also include a fix to get the canonical non-manifold edge
2019-11-21 13:15:43 +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