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é
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
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
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
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é
a02dba94f8
Fix typos
2019-05-06 11:54:47 +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é
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
Sébastien Loriot
6e31445f62
fix the prev/next pointers after polyline removal
2019-04-30 15:09:36 +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
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
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é
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é
744ea88319
Some more updates to C++11 (and dynamic pmaps)
2019-04-18 15:18:50 +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é
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
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
Andreas Fabri
92abe26251
cleanup
2019-03-22 11:51:59 +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
67a4448549
Add result_type
2019-03-21 13:36:30 +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
Laurent Rineau
9f9ae00369
Merge remote-tracking branch 'cgal/releases/CGAL-4.13-branch'
2019-02-22 16:39:48 +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
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
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é
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
Sébastien Loriot
6c6244d9b8
Merge pull request #3516 from maxGimeno/Demo-fixes-GF
...
Polyhedron Demo: Fixes.
2019-01-31 11:41:58 +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