Commit Graph

2853 Commits

Author SHA1 Message Date
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
Sébastien Loriot baea5490a4 collect only faces for cc to be handled 2019-08-23 12:00:17 +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é 923bd66ddf Document remove_connected_components_of_negligible_size 2019-08-23 10:33:13 +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é 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é 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
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
Mael Rouxel-Labbé e7a71ec797 Misc cleaning 2019-08-07 15:30:59 +02:00
Mael Rouxel-Labbé 4b996c61f6 Add a range parameter to 'remove_self_intersections' 2019-08-07 15:29:16 +02:00
Mael Rouxel-Labbé e0f3a66de6 Fix a few header includes 2019-08-07 15:27:30 +02:00
Mael Rouxel-Labbé 114ff8a967 Minor sanity improval (cosmetic chance) 2019-08-07 15:27:04 +02:00
Mael Rouxel-Labbé de3305f4df Add new headers to PMP.h 2019-08-06 16:53:41 +02:00
Mael Rouxel-Labbé 994be6a41c Progress on local self intersection removal 2019-08-06 16:53:19 +02:00
Mael Rouxel-Labbé 82e1c93eef Ensure that all vertices have a proper halfedge after non manifold duplication 2019-08-05 16:06:33 +02:00
Mael Rouxel-Labbé 9bf457ffcc Fix duplicate nm vertices
There was an issue with keeping a valid incident halfedge for vertices
post-duplication
2019-08-05 15:38:30 +02:00
Mael Rouxel-Labbé a1e2cba1c9 Minor comment change 2019-08-03 15:02:48 +02:00
Mael Rouxel-Labbé 814f8c67e5 Fix non-manifold vertex duplication 2019-08-03 14:52:35 +02:00
Mael Rouxel-Labbé 35cd0513cb Put a simple check before the more expensive angle computation 2019-08-03 14:51:11 +02:00
Mael Rouxel-Labbé 56354bcf8b Use approximate sqrt because compute_area_3 does not work for some kernels 2019-08-02 12:14:25 +02:00
Mael Rouxel-Labbé 71304cf145 Fix np internal type 2019-08-02 11:04:26 +02:00
Mael Rouxel-Labbé 9f3009f88b Add breathing room 2019-08-02 09:05:09 +02:00
Mael Rouxel-Labbé 22acb31a12 Add a function to remove small (in terms of area && volume) CCs 2019-08-01 16:10:52 +02:00
Mael Rouxel-Labbé 16cdbb4b8f Avoid default constructing the traits 2019-08-01 16:10:36 +02:00
Mael Rouxel-Labbé edbe852d4d Simplify initialization 2019-08-01 16:10:14 +02:00
Jane Tournois 5f8a58a046 deal with faces on the boundary
a precondition inside `flip_edge()` fails if this boundary condition is not satisfied
2019-08-01 14:58:19 +02:00
Mael Rouxel-Labbé 96d1cee7a7 Refactor a bit 'self_intersections()' ahead of later use
(A later would be to consider that two faces intersect if they are
e.g. vertex-adjacent)
2019-07-30 13:01:10 +02:00
Mael Rouxel-Labbé 7e7abafd08 Add some code to treat self-intersections locally 2019-07-30 13:00:32 +02:00
Mael Rouxel-Labbé 68e80471b2 Revert some changes about passing a face range to remove_self_intersections 2019-07-30 11:43:29 +02:00
Sébastien Loriot b84297f8f6 update the usage for the new CGAL named function parameters 2019-07-29 09:38:39 +02:00
Sébastien Loriot 25a05e9f4c Merge branch 'CGAL-named_function_parameters-4.14' into master
Conflicts resolved by hand
2019-07-28 23:46:43 +02:00
Sébastien Loriot aa47744c36 update the usage for the new CGAL named function parameters 2019-07-28 22:30:17 +02:00
Sébastien Loriot 2f81a21523 Merge 'CGAL-named_function_parameters' for 4.13-branch into 4.14-branch
Conflicts resolved by hand
2019-07-28 22:30:13 +02:00
Mael Rouxel-Labbé 3a89e8240e Split large and eclectic file PMP/repair.h into smaller files 2019-07-25 09:25:54 +02:00
Mael Rouxel-Labbé dac6c04529 Make lack of degenerate faces a precondition of self-intersection removal
It's just too tedious / ugly maintaining a range while removing degenerate
edges and faces.
2019-07-24 10:42:03 +02:00
Mael Rouxel-Labbé d5eff6a663 Minor doc fix 2019-07-24 10:41:37 +02:00
Mael Rouxel-Labbé 633477b8aa Remove useless border check (the vertex is interior) 2019-07-23 15:24:53 +02:00
Mael Rouxel-Labbé 00f8f3ae43 Remove example that had been moved to test (snap already has two tests) 2019-07-19 09:07:01 +02:00
Sébastien Loriot 4a58db22b9 fix warnings 2019-07-18 20:01:44 +02:00
Mael 9ba0870ebd
Merge branch 'master' into PMP-Snap_pp-GF 2019-07-18 17:43:04 +02:00
Sébastien Loriot 41ef56f8ad Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' into HEAD 2019-07-18 16:57:27 +02:00
Sébastien Loriot c411ae69d0 Merge pull request #2951 from kkatrio/PMP-smoothing-kkatrio
PMP: Mesh and shape smoothing
2019-07-18 16:49:05 +02:00
Sébastien Loriot 1f8065c6c3 Merge pull request #3885 from MaelRL/PMP-Locate-GF
PMP: Add locate.h and rewrite Triangulation_2 graph traits
2019-07-18 16:40:49 +02:00
Sebastien Loriot 8adc64dfe3
Merge pull request #3860 from MaelRL/PMP-Add_non_manifold_vertices_collector-GF
PMP: Add function 'non_manifold_vertices'
2019-07-18 16:38:15 +02:00
Sebastien Loriot 0c089d6f91
Merge pull request #3721 from sloriot/PMP-clip_fixes
Fixes for clipping
2019-07-18 16:28:44 +02:00
Mael Rouxel-Labbé 13e87ad3bd Parallelize AABB tree traversal 2019-07-18 14:32:56 +02:00
Mael Rouxel-Labbé 3fe52056cf Do not normalize bisector in most visible vertex computations 2019-07-18 11:19:03 +02:00
Mael Rouxel-Labbé 9d1cec6be6 Fix indentation (cosmetic) 2019-07-18 11:18:52 +02:00
Mael Rouxel-Labbé 1954203264 Change comment after tests 2019-07-17 15:22:10 +02:00
Mael Rouxel-Labbé 95982eb36f Allow source vertex to snap to edges, even if they have been previously snapped
The key point is that the splitting point of a (target) halfedge
is assigned the position of the source vertex that breaks this target halfedge.
In other words, if multiple source vertices have the same position, we do
not have to track and move these together because they do not move anyway.
2019-07-17 14:54:41 +02:00
Mael Rouxel-Labbé 348b806d5e Use some point references to avoid copies 2019-07-17 14:53:57 +02:00
Mael Rouxel-Labbé a63c10c2cb Use traits class functors for equality tests 2019-07-17 14:33:47 +02:00
Mael Rouxel-Labbé 0d617400bc Accelerate AABB tree traversal by passing the tolerance as initial min_dist 2019-07-17 14:29:26 +02:00
Mael Rouxel-Labbé ead092a62b Clean useless includes 2019-07-17 14:28:14 +02:00
Mael Rouxel-Labbé b39d728f45 Minor doc cleaning 2019-07-15 11:40:46 +02:00
Sébastien Loriot 560c77f567 rename named function parameter class 2019-07-15 06:25:02 +02:00
Sébastien Loriot cebf0657d8 Use a full CGAL version of named function parameters
no longer rely on boost
2019-07-14 22:45:47 +02:00
Sébastien Loriot 0ff0b41ac8 remove unused code 2019-07-11 12:24:05 +02:00
Mael Rouxel-Labbé a284ec00d4 Fix typo 2019-07-11 11:31:40 +02:00
Mael Rouxel-Labbé c3d1977ac1 Explicitely specify parameter blocks
Might help windows...?
2019-07-11 11:30:48 +02:00
Sébastien Loriot f1e2bf702c improve code + make sure in tests that halfedges are correctly linked 2019-07-11 09:38:23 +02:00
Mael b8b1989c65
Update macroname
Apparently called MINILOG_MAX_LOG_LEVEL on the installations that matter...
2019-07-10 15:38:51 +02:00
Mael Rouxel-Labbé f019ace14c Remove obsolete code 2019-07-10 08:57:21 +02:00
Mael Rouxel-Labbé eb086c7847 Fix border case of normal computation at a vertex with valence 1 2019-07-09 18:07:11 +02:00
Mael Rouxel-Labbé bfaa4e000d Fix doc warning 2019-07-09 16:45:10 +02:00
Mael Rouxel-Labbé 675cd33dbc Fix some edges not being properly cleaned from the active sets 2019-07-09 16:08:09 +02:00
Mael Rouxel-Labbé 7a9d0ccea8 Add some naive code to remove needles and caps 2019-07-09 15:26:01 +02:00
Mael Rouxel-Labbé 401aea2500 Add new method to compute vertex normals 2019-07-08 15:40:08 +02:00
Mael Rouxel-Labbé 0c8739a16e Re-order convenience overloads to avoid forward declarations in upcoming code 2019-07-08 15:39:33 +02:00
Sébastien Loriot 1c89ca6344 doc update 2019-07-08 14:19:20 +02:00
Mael Rouxel-Labbé 1e9e37bd3c Remove unused template typedef 2019-07-08 09:02:39 +02:00
Mael Rouxel-Labbé efceadd441 Temporarily override the value of MAX_LOG_LEVEL to silence Ceres on Windows
When using minilog, Ceres' Cmake code sets up MAX_LOG_LEVEL, to an annoyingly
high verbosity. We mute it temporarily and restore the value afterwards
in case it's being used by some external code.
2019-07-05 15:19:24 +02:00
Maxime Gimeno 347b180610 Update split_connected_components plugin. 2019-07-04 12:05:41 +02:00
Maxime Gimeno 0989cdd390 Merge remote-tracking branch 'cgal/master' into PMP-Add_split_to_clip-GF 2019-07-04 11:23:20 +02:00
Mael Rouxel-Labbé e61d980173 Silence Ceres when logging is based on minilog and not glog 2019-07-04 10:30:18 +02:00
Sébastien Loriot 8fde95a34c update doc 2019-07-03 17:24:05 +02:00
Sébastien Loriot 363268c33f handle intersecting curves reaching the boundary 2019-07-03 17:16:21 +02:00
Sébastien Loriot 9f14c410b9 fix split (only for the case of closed curves) 2019-07-03 15:50:35 +02:00
Mael Rouxel-Labbé 627f05c9b2 Add missing header 2019-07-03 12:08:30 +02:00
Mael Rouxel-Labbé 4d7192bbd0 Fix MSVC warning 2019-07-03 11:58:27 +02:00
Mael b1eb4c8cdd
Minor documentation rewording 2019-07-02 21:15:52 +02:00
Sébastien Loriot c89b0d4430 improve doc and add missing overload 2019-07-02 17:22:49 +02:00
Maxime Gimeno 9f28c92535 WIP 2019-07-02 13:19:20 +02:00
Maxime Gimeno be3cf6145d use const_types 2019-07-02 11:52:49 +02:00
Maxime Gimeno ee715bca1a Make the PolygonMesh const in split_cc() 2019-07-02 11:32:34 +02:00
Maxime Gimeno 3c14046997 Replace outputiterator 2019-07-02 11:25:01 +02:00
Maxime Gimeno 0684986bd6 Put the splitting part in an internal function 2019-07-02 10:57:28 +02:00
Maxime Gimeno 9f8feddf79 WIP fixed split_connected_components map management. Still failing after a split(). 2019-07-02 10:18:51 +02:00
Maxime Gimeno 031bd91b8d Remove isolated vertices 2019-07-01 16:15:44 +02:00
Maxime Gimeno 0212343669 add doc for split_ccs 2019-07-01 14:48:55 +02:00
Mael Rouxel-Labbé ba8a7175cc Move helper functions for duplicate_nm_vertices to internal namespace 2019-07-01 11:46:05 +02:00
Mael Rouxel-Labbé 2ad648d276 Factorize duplicate_non_manifold_vertices() and non_manifold_vertices() 2019-07-01 11:42:26 +02:00
Mael Rouxel-Labbé be89b9f575 Add a warning about the heavy complexity of 'is_vertex_non_manifold()' 2019-07-01 11:41:59 +02:00
Mael Rouxel-Labbé f68141a6d3 Merge branch 'PMP-Locate-GF-old' into PMP-Locate-GF 2019-07-01 11:28:25 +02:00
Mael f40f8e4190
Merge branch 'master' into PMP-smoothing-kkatrio 2019-07-01 11:24:11 +02:00
Laurent Rineau b18a17eba7 Merge branch 'releases/CGAL-4.14-branch'
# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/Face_graph_output_builder.h
2019-07-01 11:13:42 +02:00
Laurent Rineau 64bc06e2d9 Merge pull request #4032 from sloriot/PMP-coref_invalid_map
Fix copy/paste error
2019-07-01 11:07:29 +02:00
Laurent Rineau 3782c024df Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-07-01 11:06:57 +02:00
Mael Rouxel-Labbé c862d2347d Merge branch 'PMP-Add_non_manifold_vertices_collector-GF-old' into PMP-Add_non_manifold_vertices_collector-GF 2019-07-01 11:00:33 +02:00
Maxime Gimeno 99a7a5878e Add ecm management 2019-07-01 10:50:56 +02:00
Mael Rouxel-Labbé b66024f3e8 Try to silence CERES on windows 2019-07-01 09:19:23 +02:00
Mael Rouxel-Labbé b1b55a8995 Fix unused variable warnings 2019-07-01 08:45:35 +02:00
Maxime Gimeno e999183e94 - WIP split_cc() : Ecm management
- WIP split() : TODO: copy_face_graph leads to infinite loop.
2019-06-27 16:07:02 +02:00
Sébastien Loriot df9a63b2b4 update marks on removed edges 2019-06-27 08:44:46 +02:00
Mael Rouxel-Labbé 4d9aa39a90 Remove "warning" in std::cerr to avoid false positive in the testsuite 2019-06-27 08:11:13 +02:00
Mael Rouxel-Labbé ed77935d4f Fix unused warning 2019-06-27 08:09:18 +02:00
Maxime Gimeno ea47ab2259 WIP split_connected_components 2019-06-26 14:22:31 +02:00
Maxime Gimeno eb97c83261 Finished basic splitting. WIP clip_volume 2019-06-26 13:05:31 +02:00
Sébastien Loriot 4e1e7d8c16 fix wrong index 2019-06-26 10:52:48 +02:00
Maxime Gimeno 184922b578 WIP set connectivity 2019-06-25 17:26:21 +02:00
Mael Rouxel-Labbé b365835970 Remove requirement on EdgeListGraph 2019-06-24 09:04:28 +02:00
Mael Rouxel-Labbé 6f42e4be15 Fix warning 2019-06-24 08:16:01 +02:00
Mael Rouxel-Labbé 262ef93c8d Remove obsolete header 2019-06-21 13:09:09 +02:00
Mael Rouxel-Labbé 0d1759e996 Merge branch 'PMP-smoothing-kkatrio-old' into PMP-smoothing-kkatrio 2019-06-20 15:02:32 +02:00
Mael Rouxel-Labbé 7a5486962d Merge branch 'PMP-Locate-GF-old' into PMP-Locate-GF 2019-06-20 14:49:25 +02:00
Laurent Rineau 17add8332e Merge pull request #3903 from MaelRL/PMP-Generalize_keep_largest_CC-GF
PMP: Generalize `keep_large(st)_CCs`
2019-06-20 14:21:14 +02:00
Laurent Rineau 8535a3c03c Merge branch 'releases/CGAL-4.14-branch'
# Conflicts:
#	Apollonius_graph_2/include/CGAL/Apollonius_graph_2/Apollonius_graph_2_impl.h
#	Convex_hull_3/include/CGAL/convex_hull_3.h
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Corefinement/face_graph_utils.h
#	Polyhedron/demo/Polyhedron/Plugins/Mesh_3/Mesh_3_plugin_cgal_code.cpp
#	Stream_support/include/CGAL/IO/Color.h
2019-06-20 14:20:37 +02:00
Laurent Rineau b0f1f90a4d Merge branch 'releases/CGAL-4.13-branch' into releases/CGAL-4.14-branch 2019-06-20 14:08:25 +02:00
Laurent Rineau 208f788494 Merge pull request #3893 from sloriot/PMP-coref_fix_next_prev
Fix the prev/next pointers after polyline removal
2019-06-20 14:01:25 +02:00
Mael Rouxel-Labbé 7b72fcbf6c Enable passing nb_iter/time step in command line arg
Also nb_iterations is an unsigned int, not a std::size_t
2019-06-20 13:38:21 +02:00
Mael Rouxel-Labbé dcef0011e4 Confirm usage of numeric differenciation in Ceres problem formulation 2019-06-20 13:31:33 +02:00
Mael Rouxel-Labbé cad9a0aaa8 Make things work when Ceres is not available 2019-06-20 13:04:15 +02:00
Mael Rouxel-Labbé 1b53056cbd Precise some preconditions 2019-06-20 10:38:37 +02:00
Maxime Gimeno 189ece70fd WIP don't use ffg 2019-06-19 16:10:53 +02:00
Mael Rouxel-Labbé e3e50d90de Constrain edges now properly constrain the position of their extremities 2019-06-19 14:39:40 +02:00
Maxime Gimeno 1958e14728 Add a first draw of splitting in clip.h 2019-06-19 12:37:52 +02:00
Mael Rouxel-Labbé 77711e4e71 Merge branch 'PMP-smoothing-kkatrio-old' into PMP-smoothing-kkatrio 2019-06-19 11:34:48 +02:00
Mael Rouxel-Labbé aa6a1907ba Add some verbose if the solver fails 2019-06-19 11:29:01 +02:00
Mael Rouxel-Labbé 3a8a7c1f26 Improve the documentation 2019-06-19 11:07:32 +02:00
Mael Rouxel-Labbé 3b53ce20e3 Rename smooth/smooth_along_curvature_flow to smooth_mesh/shape
Also fix edge protection in the demo
2019-06-19 10:17:26 +02:00
Mael Rouxel-Labbé 22bd8a943b Merge smooth_areas and smooth_angles, rework AABB tree, document everything 2019-06-18 16:02:42 +02:00
Maxime Gimeno 064ef07a77 WIP split() 2019-06-18 16:02:14 +02:00
Mael Rouxel-Labbé 7f6cb0411c Merge branch 'PMP-Locate-GF-old' into PMP-Locate-GF 2019-06-18 08:20:16 +02:00
Mael Rouxel-Labbé 19de8eda04 Merge branch 'PMP-Generalize_keep_largest_CC-GF-old' into PMP-Generalize_keep_largest_CC-GF 2019-06-17 15:18:33 +02:00
Laurent Rineau be0d07d150 Merge pull request #3979 from afabri/CGAL-null_ptr-GF
Replace NULL and Nullptr_t with nullptr and nullptr_t
2019-06-17 14:10:35 +02:00
Laurent Rineau e4353afb13 Merge pull request #3861 from MaelRL/PMP-Add_stitch_boundary_cycle_singular-GF
PMP: Introduce `stitch_boundary_cycle`
2019-06-17 13:54:39 +02:00
Laurent Rineau 21f150dac8 Merge pull request #3932 from janetournois/PMP-add_fallback_for_hole_filling-jtournois
PMP : add fallback to non-Delaunay triangulations for hole filling functions
2019-06-17 13:54:34 +02:00
Laurent Rineau 96912aaa20 Merge branch 'releases/CGAL-4.14-branch' 2019-06-17 13:53:42 +02:00
Laurent Rineau bcef288a63 Merge pull request #3925 from MaelRL/PMP-Fix_repair_PS_swapping-GF
PMP: Fix repair polygon soup bad swaps
2019-06-17 13:51:52 +02:00
Laurent Rineau 19e1dd8c3f Merge pull request #3937 from sloriot/Slicer-fix_default_vpm
Fix default vertex point map
2019-06-17 13:51:38 +02:00
Laurent Rineau 1af9a8030e Merge pull request #3964 from sloriot/PMP-coref_invalid_index
Fix invalid index
2019-06-17 13:51:36 +02:00
Laurent Rineau fd33d13958 Merge pull request #3937 from sloriot/Slicer-fix_default_vpm
Fix default vertex point map
2019-06-17 13:48:12 +02:00
Mael Rouxel-Labbé c11de87552 Manually swap boolean values instead of std::swap() or vector.swap()
MSVC is not happy with std::swap(), Apple is not happy with vector.swap()
2019-06-14 15:43:35 +02:00
Laurent Rineau 67e73c2324 Fix compilation errors 2019-06-13 15:52:43 +02:00
Mael Rouxel-Labbé a6ea4bcf9f Try to make MSVC preview happy about swapping within boolean vectors 2019-06-12 08:39:32 +02:00
Mael Rouxel-Labbé 8a272dd0b9 Fix warning 2019-06-12 08:17:51 +02:00
Mael Rouxel-Labbé 55cede0960 Remove duplicated typedefs
That compiled on my machine, but not on the Fedora testsuites...?
2019-06-10 10:39:34 +02:00
Mael Rouxel-Labbé 6e937b62e4 Fix isolated point removal edge case 2019-06-10 09:59:44 +02:00
Mael Rouxel-Labbé 9942669dd1 Make Delaunay flips optional 2019-06-07 16:13:49 +02:00
Mael Rouxel-Labbé d41e400875 If we the mesh is open, we can't scale based on the volume
at least for now, could probably imagine some trick to still do it
2019-06-07 16:12:47 +02:00
Mael Rouxel-Labbé 1aaba3a275 Misc minor changes 2019-06-07 13:54:24 +02:00
Mael Rouxel-Labbé 2ad0e94b55 Confirmed use of _Meyer weights and Gram Schmidt move reprojection
through empirical testing
2019-06-07 12:37:14 +02:00
Mael 7fb3542b2d
Add missing param documentation 2019-06-07 10:35:25 +02:00
Mael Rouxel-Labbé 6c4d873338 Get rid of the explicit curvature flow smoothing scheme
It's just worse all the time anyway
2019-06-07 10:27:21 +02:00
Mael Rouxel-Labbé fa7b662ed3 Clean superfluous std::cout / comments 2019-06-07 10:27:21 +02:00
Mael Rouxel-Labbé 6865dae33d Make some of the weights in PMP/Weights.h actually use the vpmap 2019-06-07 10:27:15 +02:00
Mael Rouxel-Labbé aa6ef78eb3 Various fixes/improvements:
- Fix using Delaunay flips after angle smoothing (must be after area smoothing)
- Fix parameter passing to explicit curvature flow formulation
- Use early exits
- Clarify function names
2019-06-05 15:58:24 +02:00
Mael Rouxel-Labbé bd7fd4a91e Clean useless code 2019-06-05 10:39:08 +02:00
Mael Rouxel-Labbé 9bc8c6dfcf Fix smoothing with constraints 2019-06-05 09:39:05 +02:00
Andreas Fabri e2d19b0c8d Replace NULL and Nullptr_t with nullptr and nullptr_t 2019-06-04 23:45:44 +02:00
Mael Rouxel-Labbé 465aacc2f1 Work towards fixing implicit formulation of curvature flow-based shape smoothing
Constrained and border vertices likely still broken
2019-06-04 17:06:08 +02:00
Mael Rouxel-Labbé 7d5f9447a5 Fix explicit formulation of curvature flow-based smoothing 2019-06-04 17:02:32 +02:00
Mael Rouxel-Labbé 737e94676c Code cleaning 2019-06-03 12:22:07 +02:00
Mael Rouxel-Labbé 6e3f2c3510 Factorize smoothers and clean obsolete code 2019-05-29 15:59:50 +02:00
Sébastien Loriot d6ea5870e5 fix copy/paste issue 2019-05-29 11:03:55 +09:00
Mael Rouxel-Labbé a15625ceb0 Use ceres in smooth_areas() and factorize a lot of code with smooth_angles() 2019-05-28 13:06:39 +02:00
Mael Rouxel-Labbé 51fab60def Misc minor changes 2019-05-27 14:51:18 +02:00
Mael Rouxel-Labbé 00cddd0f57 Fix AABB tree type
Can't use face_graph AABB tree because the mesh is modified
2019-05-27 14:49:09 +02:00
Mael Rouxel-Labbé e264ead877 Do not assert if meeting a degenerate face 2019-05-24 13:34:58 +02:00
Mael Rouxel-Labbé cb1d28bf85 Misc cleaning 2019-05-24 13:34:50 +02:00
Mael Rouxel-Labbé 39790a9b1c Use a NP to decide whether to reject moves/projections based on post-move sanity 2019-05-24 13:33:53 +02:00
Mael Rouxel-Labbé 712aa7a99e Use existing kernel/PMP implementations to evaluate angles/aspect ratios 2019-05-24 12:27:17 +02:00
Mael Rouxel-Labbé cfbe885115 Add aspect_ratio() to measure.h
Needs proper testing, proper documentation(, proper name?)
2019-05-24 12:25:55 +02:00
Mael Rouxel-Labbé dbe69b2706 Clean measure.h (cosmetic changes only) 2019-05-24 10:45:33 +02:00