Commit Graph

2340 Commits

Author SHA1 Message Date
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é 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é bfaa4e000d Fix doc warning 2019-07-09 16:45:10 +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
Mael Rouxel-Labbé e61d980173 Silence Ceres when logging is based on minilog and not glog 2019-07-04 10:30:18 +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
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
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
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
Sébastien Loriot 4e1e7d8c16 fix wrong index 2019-06-26 10:52:48 +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
Mael Rouxel-Labbé e3e50d90de Constrain edges now properly constrain the position of their extremities 2019-06-19 14:39:40 +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
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