Commit Graph

3149 Commits

Author SHA1 Message Date
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
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
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é 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 48bf1cbf05 add tests 2019-07-02 08:38:03 +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
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
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
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
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
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
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
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
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