Commit Graph

3231 Commits

Author SHA1 Message Date
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 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
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 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 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
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 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é 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 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
Sébastien Loriot 89c1c4b3e8 check if the edge to be collapsed still verify the needle criteria 2019-09-06 15:35:03 +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
Sébastien Loriot 64cd7b67c2 hide debug 2019-09-05 11:26:12 +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
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é 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
Mael Rouxel-Labbé cf35771337 Robustify and incorporate most visible normal computations into standard fns 2019-08-23 16:29:36 +02:00
Mael Rouxel-Labbé 195a3319eb Also remove isolated vertices in remove_negligible_CCs 2019-08-23 14:37:16 +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 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
Andreas Fabri 52ca4f828f Comment debug output as travis fails 2019-08-12 07:49:12 -07:00
Sébastien Loriot 760365987c Merge branch 'cgal/releases/CGAL-4.14-branch' 2019-08-12 09:20:53 +02:00
Sebastien Loriot e67611862b
Merge pull request #4129 from janetournois/PMP-fix_isotropic_remeshing_collapse-jtournois
Fix segfault in `PMP::isotropic_remeshing()`
2019-08-12 09:16:57 +02:00
Sebastien Loriot eb712a67e9
Merge pull request #4094 from MaelRL/PMP-Snap_pp-GF
PMP: speed improvements for snap.h
2019-08-12 09:02:50 +02:00