Commit Graph

2995 Commits

Author SHA1 Message Date
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
Sébastien Loriot cdbe19b480 Merge pull request #3369 from maxGimeno/AABB_tree-AABB_transformed_traits-GF
[Small Feature] Add collision detection in PMP
2018-10-30 15:49:38 +01:00
Sébastien Loriot 3be4dd02f5 make the edge removal an iterative process
an edge impossible to remove might be removable
following some degenerate edges removal
2018-10-29 17:39:48 +01:00
Sébastien Loriot 5dad6f0c71 take into account clipper orientation to clip open meshes 2018-10-29 15:04:06 +01:00
Laurent Rineau d9851eaebe Merge pull request #3407 from MaelRL/PMP-Fix_do_intersect_look_up_error
PMP: Fix look-up error
2018-10-29 10:42:35 +01:00
Laurent Rineau 821f9c015e Merge pull request #3311 from sloriot/Doc-Pkg_link_name
Update the name of package names reference links
2018-10-29 10:27:53 +01:00