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
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