Commit Graph

3400 Commits

Author SHA1 Message Date
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é 2d86794b27 Add some tests for remove_negligible_ccs 2019-08-02 09:05:46 +02:00
Mael Rouxel-Labbé 9f3009f88b Add breathing room 2019-08-02 09:05:09 +02:00
Laurent Rineau e4de2060e9 Merge branch 'releases/CGAL-4.14-branch' 2019-08-01 17:08:37 +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
Maxime Gimeno 15fd5ce293 Lock resources between the 2 triangulate_hole tests to prevent the results from generate_mesh_with_hole to be cleaned before the end. 2019-08-01 14:25:20 +02:00
Maxime Gimeno 0b62d59110 Use a correct way to reset the stringstream 2019-07-31 10:27:03 +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é 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 9fda0ffcc9 move example of using undocumented feature into test 2019-07-18 20:04:10 +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é 98723ca104 Add an example for snap 2019-07-17 14:58:12 +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 ae2b242071 fix misleading indentation 2019-07-12 13:13:33 +02:00
Sébastien Loriot 0ff0b41ac8 remove unused code 2019-07-11 12:24:05 +02:00
Mael Rouxel-Labbé 5ba3cd8123 Enforce correct precision on 32 bit platforms 2019-07-11 11:49:30 +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
Sébastien Loriot 89a9ff34e7 add missing files 2019-07-10 14:01:07 +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é 26ecd80237 Increase tolerance furthermore + temporary debug code 2019-07-09 16:21:06 +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é f7576c709b Disable test of PMP::Locate with 2D Surface Mesh until Surface_Mesh IO is fixed 2019-07-08 16:03:31 +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é f65fb45105 Tiny verbose change 2019-07-03 12:04:06 +02:00
Mael Rouxel-Labbé 4d7192bbd0 Fix MSVC warning 2019-07-03 11:58:27 +02:00
Mael Rouxel-Labbé f03c3bf129 Sanitize values for 32 bit platforms 2019-07-03 09:07:57 +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
Sébastien Loriot 48bf1cbf05 add tests 2019-07-02 08:38:03 +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 32f80cbece Merge pull request #4018 from lrineau/CGAL-refresh_cmake_minimum_required-GF
CMake>=3.13: opt for for new policies up to 3.15
2019-07-01 11:16:30 +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é ee99c92972 Sanitize values to please 32 bit platforms 2019-07-01 09:14:04 +02:00
Mael Rouxel-Labbé b1b55a8995 Fix unused variable warnings 2019-07-01 08:45:35 +02:00
Mael Rouxel-Labbé 6ec8e9a063 Use 'assert()' in test, not CGAL assertions 2019-06-28 17:43:27 +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
Mael Rouxel-Labbé 1791870f4c Fix warning 2019-06-26 15:51:27 +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
Mael Rouxel-Labbé d3882274e5 Change test values to be compatible with 32 bit platforms 2019-06-26 08:12:17 +02:00
Maxime Gimeno 184922b578 WIP set connectivity 2019-06-25 17:26:21 +02:00
Mael Rouxel-Labbé 40aae43c5d Fix warning 2019-06-25 09:21:31 +02:00
Mael Rouxel-Labbé b365835970 Remove requirement on EdgeListGraph 2019-06-24 09:04:28 +02:00
Mael Rouxel-Labbé 646c61b943 Minor doc clarification 2019-06-24 09:04:16 +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é 33c589cb61 Further Ceres-related CMakeLists.txt simplifications 2019-06-21 12:45:23 +02:00
Mael Rouxel-Labbé 7c82c96dfd Proper usage of CMake to find and use Ceres
done with the help of @lrineau
2019-06-21 11:24:32 +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
Mael Rouxel-Labbé 10c7aa373a Add new example data file 2019-06-20 14:06:00 +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é f15fbfe36c Fix some tests failing when unlucky with random elements 2019-06-20 10:39:02 +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é 52478f0751 Tiny verbose to tests 2019-06-19 14:40:04 +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é 325af6823c Improve examples 2019-06-19 14:39:22 +02:00
Laurent Rineau 4fbf00fb8a CMake>=3.13: opt for for new policies up to 3.15 2019-06-19 14:34:59 +02:00
Maxime Gimeno d4ef2c6cf7 More doc 2019-06-19 12:56:58 +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
Mael Rouxel-Labbé 6d1ee29280 Add missing data files 2019-06-14 08:48:07 +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é ff95b757b6 Minor documentation change 2019-06-07 16:12:28 +02:00
Mael Rouxel-Labbé 33b9cde8dc Fix PMP smoothing tests 2019-06-07 14:20: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 Rouxel-Labbé ba36b7cd41 Update Smoothing Polyhedron GUI
and clean some sneaky use_explicit
2019-06-07 10:52:31 +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é 7beeb16f05 Partial clean/fix of shape smoothing tests/demo 2019-06-04 17:02:11 +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é ea7885e348 Add new named parameter: use_safety_constraints
Used in PMP::smooth_areas() / PMP::smooth_angles()
2019-05-24 13:32:18 +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
Mael Rouxel-Labbé a7b1da8b05 More fixes to 'smooth_angles()' (fixes to rejection conditions) 2019-05-24 10:32:47 +02:00
Laurent Rineau 5c2df203b4 Merge pull request #3943 from mglisse/Number_types-expression_templates-glisse
Misc fixes for expression templates
2019-05-23 08:50:17 +02:00
Laurent Rineau 419032d859 Merge pull request #3947 from MaelRL/CGAL-Fix_typos-GF
Fix some typos in code/comments/documentation
2019-05-23 08:50:14 +02:00
Laurent Rineau 5dc823d509 Merge branch 'releases/CGAL-4.14-branch' 2019-05-23 08:49:56 +02:00
Mael Rouxel-Labbé 336c1144a2 Fix smooth_angles()
About a complete rewrite due to many bugs (wrong move vector, wrong
gram schmidt algorithm, etc.)

Should also result in a pretty nifty speed up since we avoid recomputing
the same things (angles, incident edgesn etc.)  thrice
2019-05-21 15:26:09 +02:00
Mael Rouxel-Labbé a0ee943881 Misc minor changes 2019-05-21 13:19:14 +02:00
Mael Rouxel-Labbé b927780d4d Remove unused function 2019-05-21 11:54:09 +02:00
Mael Rouxel-Labbé 567a9fc611 Move call to 'reserve()' out of a filling loop 2019-05-20 15:47:59 +02:00
Mael Rouxel-Labbé c7278e4ad7 Use std::begin/end 2019-05-20 15:44:42 +02:00
Mael Rouxel-Labbé 414b234cf6 Document "no degen faces" preconditions and check it in the code 2019-05-20 15:44:09 +02:00
Mael Rouxel-Labbé 8a0656435f Rename tparam 'PolygonMesh' to 'TriangleMesh' 2019-05-20 15:43:28 +02:00
Mael Rouxel-Labbé 4ade582173 Fix calling 'reserve' within a loop filling the vector 2019-05-20 15:42:38 +02:00
Mael Rouxel-Labbé e5465dc587 Fix some warnings + code improvements
for(:) loop, pre-increment, don't take const& on light types, etc.
2019-05-20 15:41:43 +02:00
Mael Rouxel-Labbé 2d88e227c9 Fix using invalid facerange ('remove_degen_faces(fr)' and then using 'fr')
Actually, just get rid of the whole remove_degen_faces(). That's the user's
responsability to use a proper, clean input mesh.
2019-05-20 15:37:10 +02:00
Mael Rouxel-Labbé af8e6813ae Fix not using the VPM when building the AABB traits 2019-05-20 15:36:03 +02:00
Sébastien Loriot 7f5fb3d262 remove call to boost function (remove the need of default constructible fid map) 2019-05-20 14:12:23 +02:00
Mael Rouxel-Labbé 54260a934f CGAL_assertion ----> assert in tests 2019-05-20 12:52:48 +02:00
Mael Rouxel-Labbé 69b7ba013a Pass the geomtraits to the smoother 2019-05-20 12:52:06 +02:00
Mael Rouxel-Labbé 69d1b31f26 BOOST_FOREACH(,) > for(:) 2019-05-20 12:51:33 +02:00
Mael Rouxel-Labbé bcec5d8fe4 Cosmetic changes 2019-05-20 12:50:40 +02:00
Laurent Rineau eeb32f50c3
Merge branch 'master' into PMP-Add_stitch_boundary_cycle_singular-GF 2019-05-20 11:55:38 +02:00
Mael Rouxel-Labbé 85ba338518 Add missing 'using' for boost's choose_param() / get_param() 2019-05-20 11:04:15 +02:00
Mael Rouxel-Labbé 2848158354 Fix typos 2019-05-20 08:54:04 +02:00
Marc Glisse a676b75ca0 Misc fixes for expression templates 2019-05-17 19:48:41 +02:00
Sébastien Loriot dd84321f56 be more backward compatible + add typedef for AABB-tree definition 2019-05-17 15:01:46 +02:00
Jane Tournois 53029474e4 document fallback to non-Delaunay search space 2019-05-17 11:24:40 +02:00
Laurent Rineau 703124ca6d remove the unwanted `typename` 2019-05-17 09:58:11 +01:00
Jane Tournois 76e10bfa17 mention fallback in the warning message
consistently with previous commit
2019-05-17 09:58:10 +01:00
Jane Tournois 25898c8a48 in case Delaunay can't find a solution, fallback to general triangulations 2019-05-17 09:58:10 +01:00
Mael Rouxel-Labbé a120290675 Merge branch 'PMP-smoothing-kkatrio-old' into PMP-smoothing-kkatrio 2019-05-15 14:31:00 +02:00
Sébastien Loriot f65cc41e82 add missing default template parameter 2019-05-15 13:00:45 +02:00
Mael c53e7e2c68
Merge branch 'master' into PMP-Locate-GF 2019-05-15 07:59:52 +02:00
Laurent Rineau 90782d4b7f Revert the merge of two pull-requests that target CGAL-4.14-branch
- Revert "Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF"
- Revert "Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau"
2019-05-14 17:50:45 +02:00
Laurent Rineau 423c4fbd11 Merge pull request #3266 from MaelRL/PMP-Snap_boundary-GF
PMP: boundary snapping
2019-05-14 16:48:00 +02:00
Laurent Rineau 47aa42490b Merge pull request #3911 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-5.0-GF
PMP: Fix duplicate_non_manifold_vertices() with pinched vertices (5.0)
2019-05-14 16:30:25 +02:00
Laurent Rineau 8dabd25b75 Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF
PMP: Fix duplicate_non_manifold_vertices() with pinched vertices
2019-05-14 16:26:22 +02:00
Laurent Rineau b839d1defa Merge pull request #3910 from maxGimeno/Polgon_mesh_slicer-Fix_orientation-GF
PMP::Orient polylines of Polgon Mesh Slicer ccw.

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h
2019-05-14 16:25:59 +02:00
Laurent Rineau 5457a6a30b Merge pull request #3857 from MaelRL/CGAL-Fix_duplicate_non_manifold_vertices-GF
PMP: Fix duplicate_non_manifold_vertices() with pinched vertices
2019-05-14 16:18:40 +02:00
Laurent Rineau 8e872081fc Merge pull request #3898 from lrineau/Mesh_3-stop_during_protection-lrineau
Mesh_3 `Protect_edges_sizing_field`: handle the `stop` Boolean

# Conflicts:
#	.travis/build_package.sh
#	Installation/cmake/modules/CGALConfig_binary.cmake.in
#	Installation/cmake/modules/CGALConfig_install.cmake.in
#	Installation/cmake/modules/CGAL_SetupCGAL_CoreDependencies.cmake
#	Installation/lib/cmake/CGAL/CGALConfig.cmake
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_slicer.h
#	Polyhedron/demo/Polyhedron/Plugins/Classification/CMakeLists.txt
#	Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt
2019-05-14 16:18:24 +02:00
Mael Rouxel-Labbé 3e386c9de6 Fix naming consistency 2019-05-14 08:25:13 +02:00
Mael Rouxel-Labbé ba46772096 Minor comment change 2019-05-14 08:17:45 +02:00
Mael Rouxel-Labbé ab137195c6 Fix overly naive swap algorithm in duplicate polygon removal 2019-05-14 08:16:29 +02:00
Laurent Rineau d82109cdac Merge pull request #3910 from maxGimeno/Polgon_mesh_slicer-Fix_orientation-GF
PMP::Orient polylines of Polgon Mesh Slicer ccw.
2019-05-13 17:43:57 +02:00
Maxime Gimeno 910d6d076b use CGAL_USE() 2019-05-13 16:40:07 +02:00
Mael Rouxel-Labbé 09b1ea231f Fix polygons-to-be-erased ID swapping
Bugged approach would swap away from the polygons-to-be-erased area at the end
of the container
2019-05-13 13:11:47 +02:00
Mael Rouxel-Labbé eae6a294c7 Fix unused point IDs swapping
Bugged approach would swap away from the to-be-erased zones at the back
of the vector
2019-05-13 13:10:27 +02:00
Mael Rouxel-Labbé 55c90f101f Uniformize usages of 'must be' 2019-05-10 12:44:46 +02:00
Mael Rouxel-Labbé 1e9ca61fba Doc fixes 2019-05-10 11:45:49 +02:00
Mael Rouxel-Labbé af1280e34e Clean documentation 2019-05-08 18:50:05 +02:00
Mael Rouxel-Labbé 33c4c87a90 Actually use the snapping tolerance... 2019-05-08 18:28:27 +02:00
Mael Rouxel-Labbé 28cdbb7df7 Fixed using random border halfedges 2019-05-08 18:25:14 +02:00
Mael Rouxel-Labbé b1c9c993e2 Be more restrictive on the AABB tree type 2019-05-08 18:21:01 +02:00
Mael Rouxel-Labbé 9664d8f774 Whether coordinate snapping is used or not is now a named parameter 2019-05-08 18:20:32 +02:00
Mael Rouxel-Labbé 4310b898a3 Locate_types > Location_traits (+ uniformize to 'TriangleMesh') 2019-05-08 16:34:50 +02:00
Mael Rouxel-Labbé 15357b83bd Update locate/BGL tests 2019-05-08 16:30:09 +02:00
Mael Rouxel-Labbé e382ed1f1b Improve phrasing 2019-05-08 16:05:57 +02:00
Mael Rouxel-Labbé f14f9ce447 Move some functions from PMP to BGL 2019-05-08 16:05:26 +02:00
Mael Rouxel-Labbé c1fb953480 Rename 'Location_to_point()' to 'construct_point()' 2019-05-08 13:38:55 +02:00
Mael Rouxel-Labbé 2a6409b3af Lock some vertices that shouldn't move in non-conformal snapping
Vertex-vertex snapping can make such that a sequence of points p0 --> p1 --> p2
become p0==p2 --> p1 --> p2 == p0. In this case, we don't want to authorize p1
to move anymore.
2019-05-08 13:34:16 +02:00
Sébastien Loriot c49f173d83 polyline orientation depend on supporting mesh 2019-05-08 10:13:40 +02:00
Andreas Fabri 1a1f336f2c Open with std::ios::binary; isspace needs an unsigned char 2019-05-07 11:41:16 +02:00
Maxime Gimeno cfea874cc1 take the right vectors 2019-05-07 11:24:30 +02:00
Maxime Gimeno 962bac73b2 don't test if not closed 2019-05-07 11:12:59 +02:00
Maxime Gimeno a059b7aa38 don't touch polylines <=2 points 2019-05-07 10:52:18 +02:00
Maxime Gimeno cc4bc212f9 Don't use c++11 in tests 2019-05-07 10:41:13 +02:00
Mael Rouxel-Labbé 713f5a2d45 Resolve conflicts between master and 4.14-based branch that fixes manifoldness
Conflicts resulting from the switch to C++11 (BOOST_FOREACH disappearing etc.)
2019-05-07 10:34:16 +02:00
Maxime Gimeno 29ba7a8992 check that there are at least 2 points in the polyline before testing 2019-05-07 10:19:44 +02:00
Maxime Gimeno fe675e87b1 Fix test and update doc. 2019-05-07 09:58:27 +02:00
Maxime Gimeno 0105eefe45 Add a test to detect if the result of the slicer is cw oriented when seen from the positive side of the slice-plane. If it is, reverse the orientation. Add assertions in the test. 2019-05-07 09:40:47 +02:00
Mael 0efaed2095
Merge branch 'master' into PMP-Locate-GF 2019-05-06 15:57:09 +02:00
Mael 21ebdb737c
Merge branch 'master' into PMP-Snap_boundary-GF 2019-05-06 15:53:56 +02:00
Mael Rouxel-Labbé e0842e7a0f Use namespace 'CGAL::experimental::' for functions that will end in CGAL::
Instead of putting everything in internal::
2019-05-06 15:50:22 +02:00
Laurent Rineau b3ace6b60a Merge pull request #3868 from MaelRL/PMP-Local_remove_degeneracies-GF
PMP: Make remove_degenerate_edges/faces work with ranges
2019-05-06 15:44:58 +02:00
Laurent Rineau 6b83d42c69 Merge pull request #3882 from sloriot/PMP-repair_soup_missing_include
Add missing include directive
2019-05-06 15:30:36 +02:00
Mael Rouxel-Labbé c716d6ed7b Add a new, more real test 2019-05-06 14:54:42 +02:00
Mael Rouxel-Labbé 6d9196e584 Get rid of 'double' in the SM connected component test
the number of type should be determined by the kernel
2019-05-06 11:55:07 +02:00
Mael Rouxel-Labbé a02dba94f8 Fix typos 2019-05-06 11:54:47 +02:00
Mael Rouxel-Labbé cd0837e316 Document keep_large(st)_CCs properly 2019-05-06 09:32:04 +02:00
Mael Rouxel-Labbé 2bc7742980 Continue the Great Fight against entropy (cosmetic changes) 2019-05-06 09:07:56 +02:00
Mael Rouxel-Labbé 9b99b6d123 Test new keep_large(st)_CCs interface 2019-05-06 09:07:29 +02:00
Mael Rouxel-Labbé 4af0254a9a Update reference manual with keep_large(st)_CCs changes 2019-05-06 09:06:27 +02:00
Mael Rouxel-Labbé 46be9eeb5d Generalize keep_large(st)_CCs by adding an option to pass custom face pmaps 2019-05-06 09:05:24 +02:00
Mael Rouxel-Labbé af142c7416 Add new named parameter: face_size_map
Used to pass custom maps to keep_large(st)_CCs
2019-05-06 09:00:09 +02:00
Sébastien Loriot ff2e7f9eb4 fix broken link 2019-05-03 22:29:32 +02:00
Sébastien Loriot 6e31445f62 fix the prev/next pointers after polyline removal 2019-04-30 15:09:36 +02:00
Mael Rouxel-Labbé 5ab413429a Complete PMP::locate's documentation 2019-04-30 14:13:42 +02:00
Mael Rouxel-Labbé c21a47d329 Change some unordered sets to dynamic pmaps in non-manifold related functions 2019-04-30 08:54:13 +02:00
Mael Rouxel-Labbé b65d91fda8 Minor test improvements 2019-04-30 08:53:59 +02:00
Sebastien Loriot 056cd0c781
Simplify code to access the actual number of vertices in the mesh
Co-Authored-By: MaelRL <mael.rouxel.labbe@geometryfactory.com>
2019-04-30 07:56:59 +02:00
Mael Rouxel-Labbé e183b52f6d Convert to double using CGAL::to_double
Since not every exact number type can just be casted to double like that
2019-04-29 16:08:37 +02:00
Mael Rouxel-Labbé f921dd8a06 Clarify some documentation in PMP::locate::random_location_on_XXX() 2019-04-29 16:02:28 +02:00
Mael Rouxel-Labbé 7bfb434d6f Misc minor fixes for PMP::locate 2019-04-29 13:23:17 +02:00
Mael Rouxel-Labbé 27bf657972 Removed bad assertion from PMP::locate.h test 2019-04-29 12:21:16 +02:00
Mael Rouxel-Labbé 44afd34dee Fixed copyright 2019-04-29 08:29:40 +02:00
Mael Rouxel-Labbé 4bf0cba4cd Re-enable tests 2019-04-29 08:29:40 +02:00
Mael Rouxel-Labbé a796a36338 Clean locate.h 2019-04-29 08:29:40 +02:00
Mael Rouxel-Labbé e919ceff80 Improve PMP::locate() tests 2019-04-29 08:29:40 +02:00
Mael Rouxel-Labbé 5cdfd8217c Fixes to PMP::locate() 2019-04-29 08:29:40 +02:00
Sébastien Loriot c14ef91134 add missing include directive 2019-04-26 11:28:05 +02:00
Sébastien Loriot 2b226592b1 add comments 2019-04-26 11:16:44 +02:00
Sébastien Loriot 4bf4732abf fix the test
not all null-edges can be removed in case the genius is preserved
2019-04-26 11:08:57 +02:00
Sébastien Loriot 35a932be2c add an option to preserve the genius while removing null-edges 2019-04-26 11:08:33 +02:00
Sébastien Loriot b00342765b do not expand as soon as we reach a border edge
this would imply a merge of boundary cycles
2019-04-26 10:33:36 +02:00
Mael Rouxel-Labbé dd35fd115f Only sanitize the face range if we are considering the full mesh 2019-04-26 08:58:56 +02:00
Mael Rouxel-Labbé f13e055be9 Reorganize parameter order + Use correct edge range 2019-04-26 08:58:38 +02:00
Sébastien Loriot 564a6c72f4 Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2019-04-23 10:46:32 +02:00
Mael da02ac7879
Fixed some comments 2019-04-23 10:16:10 +02:00
Sébastien Loriot ca755e35a8 Merge pull request #3599 from maxGimeno/Nef_3-Document_Nef_3_to_Polygon_soup-GF
Nef_3 : Document convert_nef_polyhedron_to_polygon_soup-GF
2019-04-23 09:52:26 +02:00
Sebastien Loriot 0a19fa0690
Merge pull request #3827 from sloriot/BGL_PMP-reserve_call_before_copy
Add calls to reserve before creating meshes
2019-04-23 09:44:31 +02:00
Sebastien Loriot fdc8d79a69
Merge pull request #3843 from sloriot/PMP-speed_orient_soup
Speed-up polygon soup orientation
2019-04-23 09:43:55 +02:00
Mael Rouxel-Labbé b9cd5509b8 Rectified fake claims in repair tests 2019-04-19 13:27:38 +02:00
Mael Rouxel-Labbé 3395742088 Added tests to remove_degenerate_* functions 2019-04-19 13:21:24 +02:00
Mael Rouxel-Labbé 199d76ed22 Gave some breathing room to remove_degenerate_* functions (cosmetic only) 2019-04-19 13:20:01 +02:00
Mael Rouxel-Labbé 6a6a2e8fa0 Added face range overload to remove_degenerate_edges/faces 2019-04-19 13:04:35 +02:00
Mael Rouxel-Labbé b0158ddd81 Add a test for PMP locate.h 2019-04-19 08:39:30 +02:00
Mael Rouxel-Labbé 52915956e3 Add PMP/locate.h 2019-04-19 08:39:02 +02:00
Mael Rouxel-Labbé 744ea88319 Some more updates to C++11 (and dynamic pmaps) 2019-04-18 15:18:50 +02:00
Mael Rouxel-Labbé 56878ef322 Renamed test files 2019-04-18 15:01:34 +02:00
Mael Rouxel-Labbé 85fe34cf99 Minor test improvements 2019-04-18 14:59:49 +02:00
Mael Rouxel-Labbé 0a8b6af313 Various minor improvements to PMP::snap()
- c++11
- use simpler new point position
- improved local tolerance computations
- debug info
2019-04-18 14:58:51 +02:00
Sebastien Loriot 3ce10ff394
Doc rephrasing
Co-Authored-By: MaelRL <mael.rouxel.labbe@geometryfactory.com>
2019-04-18 13:44:25 +02:00
Mael Rouxel-Labbé 28a2b3413d Moved stitch_boundary_cycle(s) out of internal and documented it 2019-04-18 13:08:35 +02:00
Mael Rouxel-Labbé 86f9a7a68b Changed the return type of stitch_boundary_cycle(s) to something more sensible 2019-04-18 12:00:46 +02:00
Mael Rouxel-Labbé bca9560b24 Moved 'using boost::...' to the proper function 2019-04-18 11:35:32 +02:00
Mael Rouxel-Labbé 19829e528f cpp11 > std 2019-04-18 09:40:19 +02:00
Mael Rouxel-Labbé 86d9594c07 Extracted a function `stitch_boundary_cycle` from `stitch_boundary_cycles` 2019-04-18 09:34:02 +02:00
Mael Rouxel-Labbé 099d78a99b Added function 'non_manifold_vertices' 2019-04-18 09:22:01 +02:00
Mael Rouxel-Labbé 07a29d8291 Test duplicate_non_manifold_vertices() / is_non_manifold_vertex() 2019-04-17 16:07:21 +02:00
Mael Rouxel-Labbé 10080d8142 Fixed duplicate non manifold vertices for pinched vertices 2019-04-17 16:04:21 +02:00
Sébastien Loriot 1a97dcfb8e Merge pull request #3441 from afabri/PMP-centroid-GF
[Small Feature] Add centroid(TriangleMesh) to Polygon Mesh Processing
2019-04-12 15:45:48 +02:00
Sébastien Loriot db65bd8ecc Merge remote-tracking branch 'cgal/releases/CGAL-4.14-branch' 2019-04-11 21:38:48 +02:00
albert-github 1dd7473818 Correction of links
Correction of redirected links and links that moved to another place.
2019-04-11 21:37:05 +02:00
Sébastien Loriot bd955e57d3 fix conversion warnings 2019-04-10 14:28:35 +02:00
Sébastien Loriot 028fcd7b34 add missing include directive 2019-04-10 11:06:26 +02:00
Andreas Fabri 06e6e299ae Remove unused typedef 2019-04-10 09:49:41 +02:00
Sébastien Loriot 07d1601ec9 remove useless (and harmful for the new method) call to clear 2019-04-05 12:17:17 +02:00
Sébastien Loriot f972d0a228 init edge map for is_polygon_mesh_a_polygon_soup 2019-04-05 11:40:47 +02:00
Sébastien Loriot 49f1d2ba1b replace the edge map by a vector of flat_map
it is very efficient since there should not be isolated vertices.
On large data, the runtime of the function is divided by 3 to 4
2019-04-05 11:12:01 +02:00
Sébastien Loriot 9c39f2260f add calls to reserve before creating meshes 2019-04-02 21:54:30 +02:00
Sébastien Loriot 1c119aec44 replace cpp11::unordered_FOO by std::unordered_FOO 2019-03-29 13:28:33 +01:00
Sébastien Loriot 124012d9f9 replace cpp11::array by std::array 2019-03-29 13:28:33 +01:00
Sébastien Loriot f62624c4f9 replace cpp11::tuple by std::tuple 2019-03-29 13:28:33 +01:00
Sébastien Loriot ce126b87c6 remove cpp11::copy_n, cpp11::prev, and cpp11::next and use std instead 2019-03-29 13:28:32 +01:00
Sébastien Loriot d60f5645aa replace BOOST_FOREACH by c++ ranged-based for loop
some of the command used for the replacement:
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\(([a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\((const [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\((const typename [a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack --cpp  BOOST_FOREACH -l  | xargs sed -i -E "s/BOOST_FOREACH\((typename [<>a-zA-Z_:&0-9]+)\s(\w+)\,/for(\1 \2 :/"
ack "boost/foreach.hpp" -l --cpp | xargs sed -i '/boost\/foreach.hpp>/d'
2019-03-29 13:22:15 +01:00
Laurent Rineau 14e93b7fe2 Merge pull request #3794 from maxGimeno/Demo-Fix_off_reading-GF
PMP: Fix in normalize()
2019-03-26 17:01:53 +01:00
Laurent Rineau 4cad6017c4 Merge pull request #3786 from afabri/PMP-fix_figure-GF
PMP: Fix inclusion of .jpg
2019-03-26 16:44:02 +01:00
Laurent Rineau 4ec173c0e7 Merge pull request #3793 from maxGimeno/Fixes_for_warnings-GF
Fixes for warnings
2019-03-26 16:43:56 +01:00
Maxime Gimeno a508397a58 Don't use ternary operator 2019-03-25 16:06:20 +01:00
Maxime Gimeno 24d5971372 Test that norm != 0 in normalize() 2019-03-25 15:44:20 +01:00
Andreas Fabri a98eb443ea Changes after Sebastien's review 2019-03-25 14:32:34 +01:00
Sebastien Loriot 225fdeac04
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:09:42 +01:00
Sebastien Loriot 15e87ed141
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:09:31 +01:00
Sebastien Loriot 1fb5670bbd
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:09:15 +01:00
Sebastien Loriot 544a23aeb3
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:08:59 +01:00
Sebastien Loriot 31a1e80c07
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:08:48 +01:00
Sebastien Loriot 69061e3c72
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:08:15 +01:00
Sebastien Loriot 43c29bdb17
Update Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
Co-Authored-By: afabri <andreas.fabri@geometryfactory.com>
2019-03-25 14:08:05 +01:00
Laurent Rineau 1014687627
Merge pull request #3775 from MaelRL/Doc_fixes-GF
Doc fixes
2019-03-25 12:24:49 +01:00
Maxime Gimeno 801eb23ca3 Fix uninit warning in PMP 2019-03-25 12:09:04 +01:00
Mael 497d315488
And the end-of-line in Polygon_mesh_processing/doc/Polygon_mesh_processing/Doxyfile.in
Co-Authored-By: lrineau <Laurent.Rineau@cgal.org>
2019-03-22 17:11:19 +01:00
Andreas Fabri 92abe26251 cleanup 2019-03-22 11:51:59 +01:00
Andreas Fabri 2873493fb4 PMP: Fix inclusion of .jpg 2019-03-22 09:42:58 +01:00
Andreas Fabri 67774ef07b clean up 2019-03-21 17:20:46 +01:00
Andreas Fabri 33a92901c9 Fix @returns and PackageDescription 2019-03-21 14:05:54 +01:00
Andreas Fabri e758a7ddb0 Correct implementation of centroid of surface mesh 2019-03-21 13:36:30 +01:00
Andreas Fabri f1f6e0dc52 Do not test the centroid with Epec 2019-03-21 13:36:30 +01:00
Andreas Fabri 67a4448549 Add result_type 2019-03-21 13:36:30 +01:00
Andreas Fabri a38b7e7b3d Add typename 2019-03-21 13:36:30 +01:00
Andreas Fabri 2f4cb13faf Test centroid() 2019-03-21 13:36:30 +01:00
Andreas Fabri 88fabe12fb Fix dependencies 2019-03-21 13:24:20 +01:00
Andreas Fabri 742badf289 Add centroid of a closed triangle mesh 2019-03-21 13:24:20 +01:00
Laurent Rineau 2863e74fb5 Merge pull request #3735 from janetournois/PMP-fix_isotropic_remeshing_with_tiny_constraints-jtournois
PMP : fix isotropic remeshing surviving tiny constraints
2019-03-19 18:30:57 +01:00
Mael Rouxel-Labbé a990164993 Fixed missing backtick 2019-03-15 20:50:24 +01:00
Mael Rouxel-Labbé 6f13a63978 Rephrase intersection doc for clarity 2019-03-15 20:24:50 +01:00
Jane Tournois d137b20acd add checking if (s, p, q) is degenerate 2019-03-12 14:04:36 +01:00
Jane Tournois 0de369dd02 add debug code 2019-03-12 12:17:11 +01:00
Jane Tournois c64bfb8e86 do not construct normals to make the test 2019-03-11 15:18:01 +01:00
Jane Tournois 9cbb6f3785 test inversion only on faces that really need to be tested
and rename function collapse_does_not_invert_face(he) to
collapse_would_invert_face(he) for clarity
2019-03-08 16:22:17 +00:00
Jane Tournois 6f12a4ab6f fix the test ``collapse_does_not_invert_face()`
Testing orientation of normals per patch (identified by their Id) is not a
good solution, because it can happen that we are trying to collapse an edge
that is sharp but which has both of its incident faces on the same surface
patch (wrt ids).

The new test is a lot simpler : for each non-degenerate face of the link of
the edge to be collapsed, simply check if its own normal has changed
orientation or not. The adjacent faces do not need to be taken into account
2019-03-08 16:19:31 +00:00
Jane Tournois 664de7e32e use the new API of `PMP::remove_degenerate_faces()`
If there is no degenerate faces to deal with, i.e. if the function
has nothing to do, it now returns `true`, and not `0` anymore.
This change was introduced by commit e4ad5d96a7
2019-03-07 11:22:41 +01:00
Sébastien Loriot 9040b59cb8 workaround a case when the intersection polyline is not split
the polyline goes from border to interior but the node is
of degree 2 and the polyline is not split

  ***************
  *            *
  *           *
  *          *
 -*---------*-*---
| *           *   |
| *           *   |
| *************   |
|                 |
|                 |
|                 |
|_________________|
2019-03-01 18:06:54 +01:00
Sébastien Loriot a83dac3826 handle non-manifold vertices is patches to be removed
because they are duplicated in interior_vertices
2019-03-01 18:06:08 +01:00
Sébastien Loriot 0f078003c2 also handle non-manifold vertices at isolated nodes 2019-03-01 15:55:16 +01:00
Sébastien Loriot ff01ed7a5f better handling of border non-manifold vertices for the clipping 2019-03-01 14:20:29 +01:00
Laurent Rineau 9f9ae00369 Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch' 2019-02-22 16:39:48 +01:00
Mael Rouxel-Labbé 93cf8d07b2 Improved triangulate_faces tests 2019-02-21 14:44:44 +01:00
Mael Rouxel-Labbé c3ace2b72c Fixed VPM / Geom traits not propertly passed / used in triangulate_faces 2019-02-21 14:44:16 +01:00
Sébastien Loriot 52dd5f6244 manual replacement for level 1 in classified ref man 2019-02-14 10:40:04 +01:00
Sébastien Loriot 59bc453b42 first batch of replacement for level 1 in classified ref man
command used:
grep -l  "##" */doc/*/PackageDescription.txt | xargs  sed -i  -E 's/\#\#\s*([[:print:]]+[[:alnum:]])\s*\#\#\s*$/\\cgalCRPSection{\1}/'
2019-02-14 10:32:39 +01:00
Laurent Rineau fdd8357915
Merge pull request #3580 from afabri/Stream_support-Color-GF
Fix warnings (Add/remove copy constructors, and other warnings)

Co-authored-by: Laurent Rineau <laurent.rineau@cgal.org>
Co-authored-by: Mael <mael.rouxel.labbe@geometryfactory.com>
Co-authored-by: Maxime GIMENO <maxime.gimeno@gmail.com>
2019-02-13 15:25:07 +00:00
Laurent Rineau dae590af33 Merge pull request #3643 from afabri/PMP-initialize_optional-GF
Polygon_mesh_processing: Initialize a boost::optional
2019-02-13 15:38:44 +01:00
Andreas Fabri 507ebe1b83 Let's give it another try? 2019-02-11 10:43:12 +01:00
Mael Rouxel-Labbé 3d588937c4 Added another test 2019-02-08 13:37:44 +01:00
Mael Rouxel-Labbé f1837f2967 Updated documentation with new behavior 2019-02-08 13:37:14 +01:00
Mael Rouxel-Labbé e7ed57d2b5 Added tests for non conformal snapping 2019-02-08 13:02:05 +01:00
Mael Rouxel-Labbé aca47ace9a Updated snap test to reflect changes in vertex-vertex snapping behavior 2019-02-08 11:13:59 +01:00
Mael Rouxel-Labbé a843d5e249 Fixed output to work with surface meshes other than CGAL::Surface_mesh 2019-02-08 11:12:45 +01:00
Sébastien Loriot 7db3d2604b use only initialized values 2019-02-08 11:05:12 +01:00
Mael Rouxel-Labbé 05c03b5f40 Renamed debug macro 2019-02-08 10:10:01 +01:00
Laurent Rineau 8d12ec9b9c Merge pull request #3637 from sloriot/PMP-doc_bug_fix
fix wrong ref
2019-02-07 13:31:07 +01:00
Andreas Fabri 9b030b0b45 try this 2019-01-31 18:18:49 +01:00
Sébastien Loriot 6c6244d9b8 Merge pull request #3516 from maxGimeno/Demo-fixes-GF
Polyhedron Demo: Fixes.
2019-01-31 11:41:58 +01:00
Andreas Fabri 813054120f Initialize a boost::optional 2019-01-30 13:14:48 +01:00
Sébastien Loriot 02de899d26 fix wrong ref 2019-01-28 15:17:58 +01:00
Laurent Rineau afc3de2894
Merge branch 'master' into Stream_support-Color-GF 2019-01-23 09:37:08 +01:00
Laurent Rineau 1ca9dbc514
Merge pull request #3596 from maxGimeno/PMP-Make_do_intersect_faster-GF
PMP:: speed up PMP::do_intersect()

Co-authored-by: Sebastien Loriot <sebastien.loriot@cgal.org>
2019-01-22 10:49:59 +01:00
Laurent Rineau 28e520b121 Merge pull request #3594 from sloriot/PMP-remove_null_edges_on_border
Null edges removal fix on the border
2019-01-22 09:15:08 +01:00
Laurent Rineau 6ffd76a87e Merge pull request #2792 from afabri/Intersections_3-Add_missing_do_intersect-GF
Intersections_3:  Add missing do_intersect() overloads
2019-01-18 16:37:54 +01:00
Andreas Fabri 6596ba981c Polygon, Surface_mesher, Nef,.. 2019-01-17 19:35:02 +01:00
Sébastien Loriot 4e308223ad handle non-manifold vertices in a selection + duplicate them prior if allowed 2019-01-17 18:06:25 +01:00
Sébastien Loriot 651c31a179 in case there is a non-manifold vertex, we cannot update the selection 2019-01-17 13:48:30 +01:00
Sébastien Loriot 99bd8c7172 handle non monotonic border while removing a zone of degenerate faces 2019-01-16 18:15:51 +01:00
Sébastien Loriot ef5fe7ffac handle polygon attached by non-manifold vertices 2019-01-16 15:26:06 +01:00
Maxime Gimeno 7a7098d009 Fix doc 2019-01-16 11:23:30 +01:00
Sébastien Loriot e0184766d2 ignore topological issues instead of crashing 2019-01-16 10:13:16 +01:00
Sébastien Loriot 785d0deb46 add missing return 2019-01-16 10:11:43 +01:00
Maxime Gimeno b939551b38 Don't hardcode vector but use a random access container in polygon_soup_to_polygon_mesh. 2019-01-15 12:17:49 +01:00
Sébastien Loriot 656a5a316a fix compilation error + indent + simplify 2019-01-14 17:45:09 +01:00
Sébastien Loriot 3edad4c820 do not use what you deleted 2019-01-14 17:34:43 +01:00
Maxime Gimeno 8ab7e69a5c Test global bbox intersection before creating all bboxes. 2019-01-14 16:03:23 +01:00
Maxime Gimeno 79199281e6 Merge remote-tracking branch 'cgal/master' into Demo-fixes-GF 2019-01-14 09:52:13 +01:00
Sébastien Loriot 68f6a77d63 use dedicated code for removing null border edges + fix that code 2019-01-14 09:12:54 +01:00
Sébastien Loriot 551be55235 Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch' 2018-12-31 10:29:57 +01:00
Sébastien Loriot 1be277202b Merge remote-tracking branch 'cgal/releases/CGAL-4.12-branch' into HEAD 2018-12-31 10:29:19 +01:00
Sebastien Loriot e828d7a29d
Merge pull request #3558 from sloriot/PMP-bbox_empty_meshZ
Handle empty meshes
2018-12-31 10:22:42 +01:00
Sébastien Loriot fe5c3a77f9 swap the edge too 2018-12-21 09:51:58 +01:00
Laurent Rineau 698c13d973 Merge pull request #3500 from sloriot/PMP-stitching_nm_bug-4.13
Fix for stitching (4.13 and master)
2018-12-19 16:12:01 +01:00
Laurent Rineau 2583258973 Merge pull request #3530 from sloriot/PMP-coref_empty_meshes-4.13
Handle case of empty meshes (4.13+)
2018-12-19 16:06:58 +01:00
Sébastien Loriot 0f0f03e08b handle empty meshes 2018-12-19 16:05:08 +01:00
Laurent Rineau a82bb996ae Merge pull request #3500 from sloriot/PMP-stitching_nm_bug-4.13
Fix for stitching (4.13 and master)
2018-12-19 16:00:24 +01:00
Laurent Rineau fd8ea4b319 Merge pull request #3530 from sloriot/PMP-coref_empty_meshes-4.13
Handle case of empty meshes (4.13+)

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/corefinement.h
2018-12-19 15:47:12 +01:00
Laurent Rineau 00f668a4ac Merge pull request #3499 from sloriot/PMP-stitching_nm_bug
Fix for stitching (4.12)

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h
2018-12-19 15:46:19 +01:00
Laurent Rineau d23d7deb5d Merge pull request #3517 from sloriot/PMP-coref_empty_meshes
Handle case of empty meshes (4.12)
2018-12-19 15:45:56 +01:00
Laurent Rineau b53a562e89 Merge pull request #3499 from sloriot/PMP-stitching_nm_bug
Fix for stitching (4.12)
2018-12-19 15:44:45 +01:00
Mael Rouxel-Labbé db819df72c Improved robustness of non-conformal snapping 2018-12-18 12:25:27 +01:00
Sébastien Loriot 1efb1d5162 change kernel to avoid conflict with master 2018-12-14 08:27:19 +01:00
Maxime Gimeno ca4a568fa7 Fix Remove Degenerated Faces 2018-12-11 16:16:50 +01:00
Sébastien Loriot fa52560c62 handle case of empty meshes 2018-12-11 07:02:06 +01:00
Sébastien Loriot 8da9e7ceec handle case of empty meshes 2018-12-11 06:44:27 +01:00
Laurent Rineau 8070b01a22 Merge pull request #3472 from sloriot/PMP-fix_clip_on_border
Fix clipping on border edges
2018-12-10 14:38:26 +01:00
Laurent Rineau 0f6f9c388e Merge pull request #3499 from sloriot/PMP-stitching_nm_bug
Fix for stitching (4.12)

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/stitch_borders.h
2018-12-06 18:08:38 +01:00
Sébastien Loriot 3069612c37 two halfedges with the same target and source points are non-manifold
similar as 44addb1 from 4.12-branch
2018-11-30 10:01:01 +01:00
Sébastien Loriot 44addb1f83 two halfedges with the same target and source points are non-manifold 2018-11-30 09:56:33 +01:00
Sébastien Loriot ae9659539e simplify type 2018-11-22 16:58:13 +01:00
Sébastien Loriot 78e375f15c add a special handling for degenerate faces on the border 2018-11-22 16:14:18 +01:00
Sébastien Loriot 293f54dc25 no need to consider polylines to skip
they are not really used in remove_used_polylines
and a polyline might be written as to skip while
only a portion is (if the dangling part is the
one edge per polyline)
2018-11-22 14:08:20 +01:00
Sébastien Loriot f070af9a70 workaround when interseciont polyline goes to the border 2018-11-22 13:38:31 +01:00
Sébastien Loriot 0ecbdbea4b handle case when clipping plane hit an extended bbox corner 2018-11-20 13:10:14 +01:00
Sébastien Loriot 7d19fe6940 be more robust in case of tangency 2018-11-20 10:50:32 +01:00
Sébastien Loriot 0c33bf461f register vertex -> node_id upon creation
The former method relied on intersection edges
which did not have isolated vertices
2018-11-20 10:41:37 +01:00
Sébastien Loriot 6f5ba0ddfa handle clipping with clipper on border edge 2018-11-19 14:26:05 +01:00
Mael 49033c14ad
Merge branch 'master' into PMP-Snap_boundary-GF 2018-11-13 22:38:58 +01:00
Sébastien Loriot 54381db68a fix -Wmaybe-uninitialized warnings 2018-11-12 19:27:53 +01:00
Sebastien Loriot 00cf0a2889
Merge pull request #3413 from gdamiand/CGAL-cmake_cleanup-gdamiand
Clean CMakeLists.txt of examples and tests
2018-11-12 15:01:46 +01:00
Sébastien Loriot 018652517b Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch' 2018-11-12 10:08:29 +01:00
Sébastien Loriot 089377d238 Merge remote-tracking branch 'cgal/releases/CGAL-4.12-branch' into HEAD 2018-11-12 10:07:27 +01:00
Sébastien Loriot 65f386b7a3 use the vertex point map provided and not the default one 2018-11-08 14:23:28 +01:00
Sébastien Loriot 3e46680513 use the true name parameter type 2018-11-08 14:22:59 +01:00
Sébastien Loriot a51a153c31 fix when bbox has a 0-width + update testsuite 2018-11-06 10:56:04 +01:00
Sébastien Loriot 8a27676102 handle case of a non closed intersection polyline 2018-11-06 10:27:30 +01:00
Sébastien Loriot 6b8a36ba0c update clipping code for surface case and use Face_graph_output_builder
This fixes a bug when a patch with no input vertex must be
classified wrt the clipper
2018-11-05 16:26:33 +01:00
Guillaume Damiand 7d406fbb9c
Merge branch 'master' into CGAL-cmake_cleanup-gdamiand 2018-11-05 07:32:58 +01:00
Sébastien Loriot 0685423ae8 update from cgal/master 2018-11-02 11:32:31 +01:00
Sébastien Loriot d940632471 Merge pull request #3258 from MaelRL/PMP-Filter_degenerate_polygon_soup_input-GF
PMP: repair polygon soup
2018-11-02 10:37:58 +01:00
Sébastien Loriot 98584f793c fix warning 2018-11-01 12:53:47 +01:00
Sébastien Loriot a7f08e5172 Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch' 2018-10-30 16:06:22 +01:00
Sébastien Loriot 9eb521d4d7 Merge pull request #3429 from sloriot/PMP-remove_deg_edges_iterative
Make the degenerate edge removal an iterative process
2018-10-30 15:59:47 +01:00