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
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é
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
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
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
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
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
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
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
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
Laurent Rineau
e54ae0ac83
Merge pull request #3262 from MaelRL/PMP-stitch_closed_cycles-GF
...
PMP: stitch boundary cycles
2018-10-29 10:27:43 +01:00
Laurent Rineau
c7592752bf
Merge pull request #3407 from MaelRL/PMP-Fix_do_intersect_look_up_error
...
PMP: Fix look-up error
2018-10-29 10:27:39 +01:00
Laurent Rineau
e54b036516
Merge pull request #3379 from lrineau/Mesh_3-fix_Index-GF
...
Mesh_3: Allow `Subdomain_index` to be `short`
2018-10-29 10:27:33 +01:00
Sébastien Loriot
10fd5a6e0c
clear points per cc after removal + avoid useless resize
2018-10-26 09:46:01 +02:00
Sébastien Loriot
80643061af
add missing call to build+fix to use the right traits
2018-10-25 13:45:57 +02:00
Mael Rouxel-Labbé
9db614a968
First draft of non-conforming stitching
2018-10-23 10:28:39 +02:00
Mael Rouxel-Labbé
5ab34f4c8c
Specified namespace to avoid look-up errors
2018-10-16 08:43:10 +02:00
Sébastien Loriot
4294b71dfb
add missing convenience function
2018-10-15 17:21:47 +02:00
Sébastien Loriot
a1bcbd4beb
add missing include directive
2018-10-11 15:15:12 +02:00
Mael Rouxel-Labbé
4ed5958538
Merge branch 'PMP-stitch_closed_cycles-GF-old' into PMP-stitch_closed_cycles-GF
2018-10-11 09:38:41 +02:00
Sébastien Loriot
71175e13bd
naming convention
2018-10-09 10:29:20 +02:00
Sébastien Loriot
2c8b44e144
update doc after review
2018-10-09 10:29:20 +02:00
Sébastien Loriot
5154022dc0
simply API and update doc
2018-10-09 10:29:20 +02:00
Sébastien Loriot
fcc99af1eb
fix typo and clean-up
2018-10-09 10:28:45 +02:00
Sébastien Loriot
e868d87507
remove_mesh no longer invalidate mesh ids
2018-10-09 10:28:45 +02:00
Sébastien Loriot
241d088b5a
update after review of @maxGimeno
2018-10-09 10:28:45 +02:00
Sébastien Loriot
c3943386bc
rename main class
2018-10-09 10:28:45 +02:00
Sébastien Loriot
51cb7410e2
add document and clean-up API
2018-10-09 10:28:45 +02:00
Sébastien Loriot
d41a931e11
readd destructor removed by error
2018-10-09 10:28:45 +02:00
Sébastien Loriot
f6d14a78b3
get rid of thread safety issue by copying the traversal traits
2018-10-09 10:28:45 +02:00
Sébastien Loriot
649c75c272
factorise intersection code + fix constness
2018-10-09 10:28:45 +02:00
Sébastien Loriot
74c8eaec29
use named parameters
...
I removed the constructor from a range of meshes as it is complicated to
specify a range of vertex point map.
2018-10-09 10:28:44 +02:00
Sébastien Loriot
a2491fe07c
really use one point per CC
2018-10-09 10:28:44 +02:00
Sébastien Loriot
2b350e71e1
use vpm
2018-10-09 10:28:44 +02:00
Sébastien Loriot
f8722ef3be
update implementation of get_all_intersections to use the traversal traits
2018-10-09 10:28:44 +02:00
Sébastien Loriot
d206112f01
add vertex point map as parameter
2018-10-09 10:28:44 +02:00
Sébastien Loriot
a1ea22b27e
rename macro
2018-10-09 10:28:44 +02:00
Sébastien Loriot
ab4759a5f2
add AABB-tree as a template parameter
2018-10-09 10:28:44 +02:00
Sébastien Loriot
5af3523420
add the possibility to use an existing AABB-tree
2018-10-09 10:28:44 +02:00
Sébastien Loriot
84e2d4a97b
rename header
2018-10-09 10:28:44 +02:00
Sébastien Loriot
df15af614d
use a traversal traits instead of a pseudo model of AABBTraits
2018-10-09 10:28:44 +02:00
Sébastien Loriot
d7e7c74782
fix inclusion test
2018-10-09 10:28:44 +02:00
Sébastien Loriot
773413985a
handle meshes with several CC for inclusion
2018-10-09 10:28:44 +02:00
Sébastien Loriot
7f65916f54
add the possibility to specify with which models to do the intersection test
2018-10-09 10:28:44 +02:00
Sébastien Loriot
af39d7f2d2
delete the tree when removing a mesh
2018-10-09 10:28:44 +02:00
Sébastien Loriot
5f50f5d7e9
add protector and API without deformation
...
I added a bitset to avoid changing the rounding-mode too often
2018-10-09 10:28:44 +02:00
Sébastien Loriot
beaded520d
add missing protectors and clean-up
2018-10-09 10:28:43 +02:00
Maxime Gimeno
939e14561f
clean-up
2018-10-09 10:28:43 +02:00
Maxime Gimeno
7a3c441489
Fix plugin and WIP make precompute boxes
2018-10-09 10:28:43 +02:00
Maxime Gimeno
2013885eb4
WIP fix plugin
2018-10-09 10:28:43 +02:00
Maxime Gimeno
19f11b861a
WIP use box_intersection_d
2018-10-09 10:28:43 +02:00
Sébastien Loriot
aff9f5be40
simplify
2018-10-09 10:28:43 +02:00
Sébastien Loriot
7220e43e07
fix condition + clean up
2018-10-09 10:28:43 +02:00
Maxime Gimeno
dd78147d3a
Add if test for optimisation if SUPPORTS_ROTATION is Tag_true;
2018-10-09 10:28:43 +02:00
Maxime Gimeno
89e3c69db0
Add a Tag to specify a no_rotation case, which calls a faster transform_bbox() function
2018-10-09 10:28:43 +02:00
Sébastien Loriot
f77725882b
use Interval_nt_advanced with protectors
2018-10-09 10:28:43 +02:00
Maxime Gimeno
3e2d61e29d
Move traits in PMP/internal
2018-10-09 10:28:43 +02:00
Maxime Gimeno
9522c02639
Add remove_mesh()
2018-10-09 10:28:43 +02:00
Maxime Gimeno
7da9adfa90
Addadd_mesh() to the class.
2018-10-09 10:28:43 +02:00
Maxime Gimeno
d2e58526a7
Use Rigid_mesh_intersection and make it work for n items.
2018-10-09 10:28:43 +02:00
Sébastien Loriot
e179770aab
add skeleton for collision detection in PMP
2018-10-09 10:28:43 +02:00
Sébastien Loriot
bdb4ddeada
hide direct usage of bounding boxes behind free functions
2018-10-09 10:28:42 +02:00
Mael Rouxel-Labbé
d18e21cfe7
Merge branch 'PMP-Filter_degenerate_polygon_soup_input-GF-old' into PMP-Filter_degenerate_polygon_soup_input-GF
2018-10-08 16:19:26 +02:00
Sébastien Loriot
3dd0aa112d
rename macro not following the convention
2018-10-08 10:28:55 +02:00
Sébastien Loriot
ea240cfac5
use \PkgXXX instead of \PkgXXXSummary
2018-10-08 10:28:44 +02:00
Sébastien Loriot
a2e8a1c68f
add the suffix Ref to doxygen link to reference
2018-10-08 10:26:56 +02:00
Laurent Rineau
d82cdbcff1
Mesh_3: Allow `Subdomain_index` to be `short`
...
... That forced me to modify the `Index` of domains with features.
2018-10-05 17:02:38 +02:00
Mael Rouxel-Labbé
1676cd7405
Merge branch 'repair_functions-old' into repair_functions
2018-09-17 15:10:39 +02:00
Mael Rouxel-Labbé
f5d7fe6f9a
Simplified traits requirements
2018-09-11 17:12:10 +02:00
Mael Rouxel-Labbé
208eebe9f9
Fixed doc
2018-09-11 17:11:34 +02:00
Mael Rouxel-Labbé
1719b94f76
minor (re-)indentation fix
2018-09-11 15:59:18 +02:00
Mael Rouxel-Labbé
33050eff79
Generalized snap() to vertex ranges
2018-09-11 15:40:15 +02:00
Sébastien Loriot
7017a26d35
update conditions
2018-09-06 16:50:43 +02:00
Sébastien Loriot
e4ad5d96a7
start adding support for open meshes
2018-09-06 16:50:43 +02:00
Sébastien Loriot
6a885796bc
do not test the whole mesh, only the current face
2018-09-06 16:50:43 +02:00
Mael Rouxel-Labbé
a35506cfe0
Removed useless struct member
2018-09-04 15:33:29 +02:00
Mael Rouxel-Labbé
6d01f4f951
Snap what is snappable rather than rejecting everything
2018-09-04 15:30:52 +02:00
Mael Rouxel-Labbé
a618c94dbd
Removed tolerance map from named parameters
2018-09-03 18:37:06 +02:00
Mael Rouxel-Labbé
8cb8102cfc
Fixed not incrementing index
2018-09-03 16:35:02 +02:00
Mael Rouxel-Labbé
72422ca498
Replaced ::max() (to avoid issues with NTs that do not have a max value)
2018-08-28 12:05:30 +02:00
Sébastien Loriot
458d2cc6cf
be more permissive for collapsing constrained edges
...
the only non-collapsable constrained edges are those with
both endpoints being explicitly constrained vertices or
corners
2018-08-20 17:24:28 +02:00
Sébastien Loriot
19c99923b2
fix typo that was preventing from building the doc
2018-08-17 17:09:20 +02:00
Mael Rouxel-Labbé
979456be47
Fixed typo
2018-08-17 16:33:11 +02:00
Mael Rouxel-Labbé
781708e942
Replaced call to stitch_boundary_cycle_2 by the stronger version
2018-08-17 16:30:03 +02:00
Mael Rouxel-Labbé
ab9b0479b3
Removed unnecessary 'do_' in named parameters
2018-08-17 15:32:26 +02:00
Mael Rouxel-Labbé
7b740e9561
Fixed 'is_non_manifold_vertex'
...
A pinched vertex is not manifold
2018-08-17 10:44:35 +02:00
Sébastien Loriot
89df0d977f
typo and indicate that the cycle is a boundary cycle
2018-08-16 16:55:49 +02:00
Mael Rouxel-Labbé
f93c18afa0
Fixed using max() with GMP
2018-08-14 14:30:59 +02:00
Mael Rouxel-Labbé
f30c89c40f
Added some missing includes
2018-08-07 09:12:49 +02:00
Mael Rouxel-Labbé
20984e1042
Modified comment to avoid using '\'
2018-08-07 08:56:23 +02:00
Mael Rouxel-Labbé
56642a96ff
Replaced dynamic property map with an unordered set
2018-08-03 15:10:01 +02:00
Mael Rouxel-Labbé
46bd7dc832
Merge branch 'PMP-Filter_degenerate_polygon_soup_input-GF-old' into PMP-Filter_degenerate_polygon_soup_input-GF
2018-08-03 09:34:15 +02:00
Mael Rouxel-Labbé
94108a44fe
Fixed lonely function call
2018-08-01 15:13:25 +02:00
Mael Rouxel-Labbé
2ecb8c50d2
Improved repair polygon soup verbosity granularity
2018-08-01 15:10:39 +02:00
Mael Rouxel-Labbé
21873890a2
Fixed concept name
2018-08-01 08:45:18 +02:00
Mael Rouxel-Labbé
0aabaf3025
Added some functions to snap mesh borders onto another mesh
2018-08-01 08:44:30 +02:00
Mael Rouxel-Labbé
7e17f5f8d6
Cleaned extra verbose
2018-07-31 08:28:38 +02:00
Mael Rouxel-Labbé
768c5212c2
Try to stitch halfedges within each border before more complex approaches
2018-07-30 18:08:22 +02:00
Mael Rouxel-Labbé
d1334ade3c
Added a function to try and stitch stitchable halfedges within the same border
2018-07-30 18:07:54 +02:00
Mael Rouxel-Labbé
5a8d6c67e8
Merge branch 'repair_functions-old' into repair_functions
2018-07-30 15:53:37 +02:00
Mael Rouxel-Labbé
f58247d8df
Added missing quotes
2018-07-30 15:48:20 +02:00
Mael Rouxel-Labbé
b9325608b3
Misc minor doc fixes
2018-07-30 13:08:50 +02:00
Mael Rouxel-Labbé
4e31832136
Added a function to detect and merge duplicate faces
2018-07-30 13:08:16 +02:00
Mael Rouxel-Labbé
007a466b8e
Added a function to merge duplicate vertices
2018-07-26 18:32:22 +02:00
Mael Rouxel-Labbé
e6a04b1fa2
Misc minor changes
2018-07-26 18:26:11 +02:00
Mael Rouxel-Labbé
4ce664a5af
Minor doc change
2018-07-26 16:54:50 +02:00
Mael Rouxel-Labbé
6d88f053b5
Added 'additional'
2018-07-26 16:31:11 +02:00
Mael Rouxel-Labbé
ed6ebae2de
Added repair_polygon_soup.h
2018-07-26 16:30:28 +02:00
Mael Rouxel-Labbé
1765ae106b
Added new headers to pmp.h
2018-07-26 15:49:48 +02:00
Sébastien Loriot
168d684ef1
Merge pull request #3255 from sloriot/PMP-rm_unused_file
...
Remove unused file
2018-07-25 18:57:15 +02:00
Sébastien Loriot
d05df530b3
Merge pull request #2658 from MaelRL/Periodic_3_mesh_3-Feature-MBogdanov
...
Periodic_3_mesh_3, new package
2018-07-25 18:55:12 +02:00
Sébastien Loriot
3f9e22994c
Merge pull request #3252 from sloriot/PMP-autorefine_bugfixes
...
Autorefine bug-fix
2018-07-25 18:53:57 +02:00
Sébastien Loriot
302cebf325
check iterator is valid before dereferencing it
2018-07-25 17:04:40 +02:00
Mael Rouxel-Labbé
789d416f21
Moved 'merge_vertices_in_range' to internal namespace and undocumented it
2018-07-25 11:33:44 +02:00
Mael Rouxel-Labbé
a4d825f144
Misc minor changes
2018-07-25 11:29:25 +02:00
Mael Rouxel-Labbé
0417bb88d7
Hide "remove_degenerate_faces"
2018-07-25 10:53:30 +02:00
Mael Rouxel-Labbé
e6d1977f73
Updated documentation
2018-07-24 18:08:05 +02:00
Sébastien Loriot
d8518d5c80
remove unused file
2018-07-24 13:18:06 +02:00
Mael Rouxel-Labbé
16e64caf65
Handle degenerate edges in 'is_cap_triangle_face'
2018-07-24 11:20:04 +02:00
Mael Rouxel-Labbé
d56c12c738
Handle degenerate edges in 'is_needle_triangle_face'
2018-07-24 11:14:47 +02:00
Mael Rouxel-Labbé
072b2376b8
Merge branch 'repair_functions-old' into repair_functions
2018-07-23 17:59:43 +02:00
Mael Rouxel-Labbé
5db403ae34
Fixed indentation
2018-07-23 17:44:04 +02:00
Mael Rouxel-Labbé
9bf6c331b9
Moved extract_boundary_cycles to border.h
2018-07-23 17:42:11 +02:00
Mael Rouxel-Labbé
3d0c0d48d4
Minor doc changes
2018-07-23 17:28:36 +02:00
Sébastien Loriot
da76851f75
handle special case when intersection segments shares a common endpoint
2018-07-23 17:13:58 +02:00
Mael Rouxel-Labbé
018195d15d
Documented 'degenerate_faces' and add 'degenerate_edges'
2018-07-23 17:10:14 +02:00
Mael Rouxel-Labbé
31609f2002
Renamed function and removed obsolete code
2018-07-23 16:31:51 +02:00
Mael Rouxel-Labbé
e3da86cff3
Renamed removed_(null-->degenerate)_edges() for consistency
2018-07-23 16:07:33 +02:00
Mael Rouxel-Labbé
a9897111c4
Reorganized the new functions
2018-07-23 12:14:33 +02:00
Mael Rouxel-Labbé
614f80694c
Removed obsolete code about merging duplicated boundary vertices
2018-07-23 11:36:15 +02:00
Mael Rouxel-Labbé
49a971e9c2
Various improvements/fixes to degenerate/needle/cap functions
2018-07-23 11:30:12 +02:00
Mael Rouxel-Labbé
3b9464f549
Replaced No_constraint_pmap with Constant_property_map
2018-07-19 17:05:07 +02:00
Mael Rouxel-Labbé
758104c189
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-07-18 17:42:23 +02:00
Sébastien Loriot
3a3bfcfd09
do not build the kd-tree twice
...
build() will trigger the computation of the kd-tree if it was already built
2018-07-17 14:31:53 +02:00
Laurent Rineau
3ab9482910
Merge branch 'releases/CGAL-4.12-branch'
2018-07-12 11:37:49 +02:00
Laurent Rineau
c63a7c77e5
Merge pull request #3214 from sloriot/PMP-autorefine_identical_points
...
Make sure identical vertices have identical coordinates in autorefinement
2018-07-12 11:32:49 +02:00
Laurent Rineau
72f0c4af95
Fix the obvious bug
2018-07-10 13:47:40 +00:00
Sébastien Loriot
1d923e2253
register all vertices for autorefinement
...
this is useful to guarantee that the final floating point coordinates
are identical
2018-07-09 16:41:46 +02:00
Sébastien Loriot
ba8356c0a5
do not delete twice a vertex in case it was already updated
2018-07-09 11:22:19 +02:00
Mael
74e569db86
Merge branch 'master' into Periodic_3_mesh_3-Feature-MBogdanov
2018-07-04 16:55:30 +02:00
Laurent Rineau
20959db103
Merge pull request #3062 from maxGimeno/BGL-Copy_face_graph_use_np-GF
...
BGL: copy_face_graph() with NamedParameters
2018-07-04 16:49:54 +02:00
Laurent Rineau
a2c30daa17
Merge pull request #3106 from maxGimeno/PMP-Extrude-GF
...
PMP: extrude_mesh()
2018-07-04 16:49:48 +02:00
Sébastien Loriot
aed0cb1834
remove extra comma
2018-07-03 15:47:35 +02:00
Konstantinos Katrioplas
b51fa000a4
documentation on merge border vertices functions
2018-07-03 15:39:26 +02:00
Sébastien Loriot
ee3636d57e
directly sort halfedges and use the ordering to detect illegal merges
...
a merge is considered as illegal if it makes to vertices
to be merged unreachable. For now if a cycle contain an illegal
merge, all merges of the cycle are ignored.
2018-07-03 15:38:58 +02:00
Sébastien Loriot
99db9a0aaf
WIP correctly linking halfedges around merged vertices ...
...
also disable the merge between cycles as it is not straight forward
it will be always possible
2018-07-03 15:38:58 +02:00
Konstantinos Katrioplas
032ee2828a
named parameters for duplicate non-manifold vertices
2018-07-03 15:38:57 +02:00
Konstantinos Katrioplas
c6afed86a3
use cosine for threshold on needles and caps
2018-07-03 15:37:20 +02:00
Konstantinos Katrioplas
71041e0376
replace is_degenerate_triangle_face predicate with new version from PMP helpers
2018-07-03 15:37:20 +02:00
Konstantinos Katrioplas
63f49b7fcc
move predicates to helper.h and seperate test file
2018-07-03 15:37:20 +02:00
Konstantinos Katrioplas
903df8106a
corrections after the review
2018-07-03 15:37:20 +02:00
Sébastien Loriot
e6ffc5f505
remove incorrect optimisation
2018-07-03 15:37:16 +02:00
Sébastien Loriot
fe407a701f
add a function to merge vertices globally
2018-07-03 15:37:16 +02:00
Sébastien Loriot
0830c7a112
add missing overload
2018-07-03 15:37:16 +02:00
Sébastien Loriot
e1f0740b53
rename header and test file
2018-07-03 15:37:16 +02:00
Sébastien Loriot
af65760475
rewrite boundary cycle merging
2018-07-03 15:37:16 +02:00
Konstantinos Katrioplas
c79add2c6a
merge vertices, tests & data
2018-07-03 15:37:16 +02:00
Konstantinos Katrioplas
1f0628fad2
is needle andcap functions
2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas
c3e7f6d94b
is_non_manifold_vertex function
2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas
9f315abad6
duplicate_vertices function doc
2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas
8e285cb1a7
is_degenerate_triangle_face function
2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas
0db8941e0a
is_degenerate_edge function
2018-07-03 15:36:50 +02:00
konstantinos katrioplas
9901ed78ef
Merge branch 'master' into PMP-smoothing
2018-07-01 20:07:19 +03:00
konstantinos katrioplas
0b1f581df5
avoid re-projection when there are self-intersections
2018-07-01 19:26:08 +03:00
Maxime Gimeno
a584af827b
Fix Conflicts
2018-06-29 18:21:24 +02:00
Mael Rouxel-Labbé
fd076c3c6d
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-28 16:25:54 +02:00
Laurent Rineau
2d9000efde
Merge pull request #3111 from sloriot/PMP-coref_preserve_face_attributes
...
Add a visitor to track the creation of faces in corefinement functions
2018-06-28 16:09:37 +02:00
Sébastien Loriot
1d59e0a350
add missing include directives
2018-06-27 17:07:13 +02:00
Sébastien Loriot
af8395585e
use const functors
2018-06-27 17:02:42 +02:00
Laurent Rineau
10a84aa34e
Merge branch 'master' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-27 10:33:24 +02:00
Sébastien Loriot
6d89662e2a
use need API + add missing overload
2018-06-26 00:17:30 +02:00
Jane Tournois
e1ea454328
fix conversion warnings and extra typename
...
windows errors
2018-06-22 12:16:33 +02:00
Maxime Gimeno
803e5e6717
add missing boost::
2018-06-22 10:32:23 +02:00
Sébastien Loriot
627c660f0a
initialize map
2018-06-21 15:25:37 +02:00
Sébastien Loriot
a609ae3223
fix warnings
2018-06-21 14:41:00 +02:00
Laurent Rineau
b44ad18983
Merge branch 'master' into PMP-stitch_after_orient-GF
2018-06-21 12:31:26 +02:00
Sébastien Loriot
0abfba8ac0
Update branch 'PMP-coref_preserve_face_attributes' from master@5ceb529d0f
2018-06-21 10:53:59 +02:00
Mael Rouxel-Labbé
7490f34560
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-21 10:15:25 +02:00
Laurent Rineau
b08fb6c4ed
Merge pull request #3069 from sloriot/PMP-isotropic_remeshing_user_projection
...
Fix constrained edge map update and add user projection functor as input
2018-06-20 17:21:10 +02:00
Maxime Gimeno
f7807b3d5c
fix warning
2018-06-20 10:23:44 +02:00
Maxime GIMENO
e54d577b59
Merge branch 'master' into PMP-Extrude-GF
2018-06-20 08:50:03 +02:00
Maxime Gimeno
c7a681f968
Fix doc
2018-06-20 08:45:51 +02:00
Sébastien Loriot
f7241be70a
fix test on the shortness of protect edges
...
since ecm was updated to only contain real constrained edges (and no additional
patch border edges), we use connected component patch map to identify them
2018-06-18 10:08:52 +02:00
Laurent Rineau
20ba8216b8
Merge pull request #3163 from sloriot/PMP-missing_transform_overload
...
Add missing overload for PMP::transform
2018-06-14 17:36:40 +02:00
Maxime Gimeno
1d4b1f9183
Merge master to solve conflicts
2018-06-13 09:48:07 +02:00
Mael Rouxel-Labbé
340e5d3b5a
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-12 23:29:43 +02:00
Laurent Rineau
16c581fb4b
Merge pull request #3145 from afabri/PMP-should-GF
...
Polygon_mesh_processing: Change should to must/shall
2018-06-12 16:38:24 +02:00
Sébastien Loriot
8ccc2af157
add missing overload
2018-06-11 22:04:24 +02:00
Konstantinos Katrioplas
f53d60417d
improve testing, fix mesh smoothing on selection of faces, clean up
2018-06-11 13:22:12 +02:00
Konstantinos Katrioplas
763132d79b
rm unnecessary degenerate cases check
2018-06-08 15:40:41 +02:00
Konstantinos Katrioplas
6cb1dbe4d4
small corrections on docs and test files
2018-06-08 12:36:13 +02:00
Sébastien Loriot
895dbaad73
fix merge of status after the usage of ecm in collapse_edge
...
ep and epo are no longer guarantee to be the halfedges to be removed
2018-06-07 17:35:29 +02:00
Sébastien Loriot
117b1d810a
work around issue with boost::size in boost 1.55
...
improve at the same time the runtime in cases
we could also have a lazy version for non-random access iterators
2018-06-07 15:14:20 +02:00
Mael Rouxel-Labbé
ddeb4c0cd7
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-07 15:14:19 +02:00
Konstantinos Katrioplas
974469a506
use std::vector instead of a std:set when setting vertex range
2018-06-07 14:03:26 +02:00
Konstantinos Katrioplas
35197fcac7
small fixes so as to work correctly with the boolean and the constant property maps
2018-06-07 12:15:09 +02:00
Sébastien Loriot
e1e1512869
Merge 'PMP-isotropic_remeshing_user_projection' into PMP-isotropic_remeshing_user_projection
2018-06-06 18:00:32 +02:00
Konstantinos Katrioplas
a634d6a0bc
rename headers, rm unnecessary files, clean, edit changes.md
2018-06-06 17:16:12 +02:00
Konstantinos Katrioplas
60cbb2fc6a
Merge remote-tracking branch 'cgal/master' into PMP-smoothing-kkatrio
2018-06-06 15:50:14 +02:00
Konstantinos Katrioplas
ff54d95a08
fixes on code and doc according to review, incl. using dynamic properties, using constant property map, passing solver as template parameter & using Point_3 references when possible
2018-06-06 15:49:03 +02:00
Sébastien Loriot
6e1d9b2a3e
clip_volumes -> clip_volume
2018-06-06 13:30:36 +02:00
Sébastien Loriot
23a9ae9297
doc typos
2018-06-06 13:24:24 +02:00
Sébastien Loriot
02bcd2a618
merge vertex and face visitor and disable vertex for now
2018-06-06 12:04:30 +02:00
Sébastien Loriot
87b45e8afe
rename algorithm visitor
2018-06-06 10:27:52 +02:00
Sébastien Loriot
e26bee1a61
rename new_face_visitor -> visitor
2018-06-06 09:50:05 +02:00
Mael Rouxel-Labbé
7ea3a8044e
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-06-05 14:39:18 +02:00
Sébastien Loriot
aed6f5805c
remove unused variable
2018-06-05 14:15:22 +02:00
Sébastien Loriot
c177cf884b
fix clip convenience overload
2018-06-05 14:09:32 +02:00
Sébastien Loriot
38c44cf11b
make sure face index maps are identical when clipping with a plane
2018-06-05 13:45:23 +02:00
Sébastien Loriot
2601581096
catches exceptions thrown by (co)refinement related plugins
2018-06-05 12:54:46 +02:00
Sébastien Loriot
8d6a992035
remove the use of the convex hull
2018-06-05 12:33:41 +02:00
Sébastien Loriot
3a625d1a28
more robust construction
2018-06-04 17:21:28 +02:00
Sébastien Loriot
6a6172eb0a
add a section in the user manual for clipping
2018-06-04 16:28:56 +02:00
Sébastien Loriot
aecefd2e6d
include_clipper_boundary -> use_compact_clipper
2018-06-04 15:20:31 +02:00
Sébastien Loriot
987d59ed67
fix doc typos
2018-06-04 14:28:43 +02:00
Sébastien Loriot
40269797ab
should -> must
2018-06-04 13:56:35 +02:00
Maxime GIMENO
0517c35f59
Merge branch 'master' into BGL-Copy_face_graph_use_np-GF
2018-06-04 11:58:43 +02:00
Andreas Fabri
c94b219491
typo
2018-06-04 09:40:35 +01:00
Sébastien Loriot
b2fcdf2c9d
remove polyhedron dependency
2018-06-04 10:29:20 +02:00
Andreas Fabri
2cd40ad42b
Change should to must/shall
2018-06-04 08:32:18 +01:00
Sébastien Loriot
2569c271e5
improve doc and plugin
2018-06-01 16:50:39 +02:00
Sébastien Loriot
b8f058e0d1
implement @MaelRL review
2018-06-01 16:09:22 +02:00
Sébastien Loriot
94a73232d5
document clip functions
2018-06-01 11:06:29 +02:00
Sébastien Loriot
1a5b2c78a5
update doc of face index map and qualify boost np functions
2018-06-01 11:00:13 +02:00
Konstantinos Katrioplas
3e78e3ad4b
typos and various small fixes, incl. smoothing helpers
2018-05-31 17:56:47 +02:00
Sébastien Loriot
932a6c38b9
doc typos
2018-05-31 10:40:29 +02:00
Sébastien Loriot
899838478c
improve doc
2018-05-31 09:57:27 +02:00
Maxime Gimeno
1e20055dba
Move the strip creation into an internal function
2018-05-30 14:15:08 +02:00
Sébastien Loriot
cd1e5126e6
add missing convenience overloads
2018-05-30 10:50:52 +02:00
Maxime Gimeno
ee2f7b427a
Fix doc
2018-05-30 09:23:17 +02:00
Sébastien Loriot
ac566df9ba
use Boolean_property_map
2018-05-30 08:34:08 +02:00
Maxime Gimeno
881d518a24
Add an overload with only one NP
2018-05-29 17:34:07 +02:00
Maxime Gimeno
6dfefeb189
Rename generic_extrude_mesh into extrude_mesh and removes the distance of the original overload as it is useless
2018-05-29 16:42:16 +02:00
Sébastien Loriot
460f49d64f
move code to swap edges in a function
2018-05-29 15:59:55 +02:00
Maxime Gimeno
0b2436d062
Clean-up after review
2018-05-29 15:59:54 +02:00
Sébastien Loriot
b81453868b
fix the handling of constrained vertices
2018-05-29 15:59:54 +02:00
Sébastien Loriot
5738a11841
swap halfedges to guarantee that constrained halfedges are kept
...
this is only requires in case prev(opposite(he)) is constrained
since if there is a constrained vertex it is vb.
2018-05-29 15:59:54 +02:00
Sébastien Loriot
abe346f8d2
consider any vertex incident to a constrained as constrained
2018-05-29 15:59:54 +02:00
Sébastien Loriot
de3d654a72
simplify the code collapsing edges
...
handles corner and constrained vertices
2018-05-29 15:59:10 +02:00
Sébastien Loriot
53164edc5a
a vertex of degree less than 3 is on the boundary
...
collapsing an edge incident to it should be controlled only
by the constrained status of the vertices
2018-05-29 15:59:10 +02:00
Sébastien Loriot
d3caff29dc
fix indentation
2018-05-29 15:59:10 +02:00
Sébastien Loriot
34a66797b5
the corner status of a vertex is already taken into account in the code
...
it is meaningful for collapse and smooth that are using is_corner function
2018-05-29 15:59:10 +02:00
Maxime Gimeno
a779db591c
Make Isotropic_remeshing keep the constrained vertices when collapsing an edge.
2018-05-29 15:58:19 +02:00
Maxime Gimeno
7d3d4b27a6
Fix doc
2018-05-29 10:34:26 +02:00
Sébastien Loriot
37bd8c1d84
fix typos
2018-05-28 17:37:47 +02:00
Sébastien Loriot
f29d8339fa
document corefine_and_compute_boolean_operations()
2018-05-28 17:37:46 +02:00
Sébastien Loriot
67ec602795
remove a restriction on the output vpm
...
they no longer requires to be of the same type.
This is particularly important especially since we might
ignore some of them.
2018-05-28 17:37:17 +02:00
Sébastien Loriot
d3a9f655af
replace bool parameter throw_on_self_intersection with a named parameter
...
used it at the same time in Boolean operation functions
2018-05-28 17:37:17 +02:00
Sébastien Loriot
eea53718bb
renaming
2018-05-28 17:37:17 +02:00
Sébastien Loriot
3c382accca
document the default new face visitor
...
I have to move everything in the CGAL::PMP::Corefinement because
CGAL::Corefinement was strange for a publicly documented type
2018-05-28 17:37:16 +02:00
Sébastien Loriot
c554738ea1
update after Mael's review
2018-05-28 17:37:15 +02:00
Sébastien Loriot
699a43e47f
document the new named parameter
2018-05-28 17:36:07 +02:00
Sébastien Loriot
a207317cf5
add a parameter in corefinement functions to track the creation of new faces
2018-05-28 17:36:07 +02:00
Maxime Gimeno
d126ea44d6
Fixes in doc
2018-05-28 16:49:54 +02:00
Maxime Gimeno
3a2a0d9cc5
Fix doc
2018-05-28 16:49:54 +02:00
Maxime Gimeno
eda740136a
Add one quad face and use split face
2018-05-28 16:49:54 +02:00
Maxime Gimeno
f3aabc10eb
Fix doc for np1 and np2
2018-05-28 16:49:53 +02:00
Andreas Fabri
dc89cd6057
Change #include
2018-05-28 16:49:53 +02:00
Maxime Gimeno
71abeb06c7
Use vectors instead of unordered maps and use functors that takes input and output vertices instead of only output vertices.
2018-05-28 16:49:53 +02:00
Andreas Fabri
a80100ba41
Deal with constness so that it works with Polyhedron_3 as well
2018-05-28 16:49:53 +02:00
Maxime Gimeno
4efef4e15b
Add a function generic_extrude_mesh() that takes up to 2 functors instead of a direction and a distance.
2018-05-28 16:49:52 +02:00
Maxime Gimeno
41d3c05f7f
Add a functor to create the offset
2018-05-28 16:49:52 +02:00
Maxime Gimeno
828a7d2b73
clean-up
2018-05-28 16:49:52 +02:00
Maxime Gimeno
291039ba80
update doc
2018-05-28 16:49:52 +02:00
Maxime Gimeno
1851f35382
Add a function to PMP that extrudes a mesh along a direction at a given distance.
2018-05-28 16:49:51 +02:00
Laurent Rineau
e86c3c4bba
Merge pull request #3102 from afabri/Property_map-empty_vector-GF
...
Property_map: Fix make_property_map(std::vector&) for an empty vector
2018-05-28 13:58:47 +02:00
Laurent Rineau
a7738b27c9
Merge pull request #3052 from maxGimeno/PMP-transform-GF
...
PMP: transform()
2018-05-28 13:58:16 +02:00
Laurent Rineau
851dfabd29
Merge pull request #2757 from maxGimeno/BGL-Add_facegraph_validity_check_function-GF
...
BGL: Add a FaceGraph validity check function
2018-05-28 13:58:07 +02:00
Maxime Gimeno
2adbfe0888
replace bool by cgal_no_property_::type in wrapper
2018-05-24 14:08:57 +02:00
Maxime Gimeno
57296468b1
Update doc for fimap
2018-05-24 12:46:16 +02:00
Maxime Gimeno
719033ad68
Create id-map on the fly if needed
2018-05-24 12:41:37 +02:00
Sébastien Loriot
f03f2176dd
do no collapse constrained edges
...
At the same time I removed halfedge_and_opp_removed since we don't
know prior to the collapse which edges are removed.
The only thing done by the function is to reset the status. This
is not an issue to remove it because halfedge_added is called
each time a new edge is created, thus a previous status cannot
be recovered by error.
2018-05-23 09:07:13 +02:00
Andreas Fabri
466a88077d
An empty soup is a mesh
2018-05-22 17:48:36 +02:00
Andreas Fabri
9abafecf9a
make the property map from the vector
2018-05-22 17:48:36 +02:00
Sébastien Loriot
be42fa9147
update ecmap_ during the remeshing
2018-05-18 17:07:14 +02:00
Sébastien Loriot
90faf5d060
simplify initialization of CC
2018-05-18 14:10:31 +02:00
Sébastien Loriot
42de73320a
only constrain edges split that were constrained before
2018-05-18 11:07:18 +02:00
Sébastien Loriot
43c6fd3635
make the projection optional
2018-05-18 10:59:26 +02:00
Maxime Gimeno
5fc0022d92
make copy_face_graph use NamedParameters
2018-05-17 10:49:58 +02:00
Laurent Rineau
5a5195a4f4
Merge branch 'master' into PMP-stitch_after_orient-GF
2018-05-15 16:11:14 +02:00
Jane Tournois
76fd482cce
make collapse_constraints a parameter of collapse_short_edges
...
instead of a remesher global parameter
2018-05-15 12:52:32 +02:00
Sébastien Loriot
e08c1cdc4d
add an option to prevent the collapse of constrained edges
2018-05-15 12:21:05 +02:00
Jane Tournois
35125cd9a5
remove todo done by this PR
2018-05-15 11:23:46 +02:00
Jane Tournois
fbd982f7d8
document undocumented named parameters
...
and add extra info about split edges
2018-05-15 11:22:08 +02:00
Sébastien Loriot
73db555c5e
unconstrained an edge to be collapsed
2018-05-15 10:30:40 +02:00
Sébastien Loriot
ac8fbfd6aa
add a condition to make sure the flip does not create a non-manifold edge
2018-05-15 09:48:12 +02:00
Sébastien Loriot
6b601ccf80
update after Jane's review
2018-05-14 09:51:26 +02:00
Maxime Gimeno
9e78cb49c1
Rename Mesh in PolygonMesh for consistency with the rest of the package
2018-05-07 12:51:36 +02:00
Maxime Gimeno
cb3b060d53
fix the doc
2018-05-07 12:51:36 +02:00
Maxime Gimeno
ca267506f8
Fix doc
2018-05-07 12:51:36 +02:00
Sébastien Loriot
b2fa6680d7
typo
2018-05-07 12:51:35 +02:00
Maxime Gimeno
3ca3d11512
Replace the tparam Transformation by any Functor with an operator()(Point_3) and use that operator instead of .transform() in the impl.
2018-05-07 12:51:35 +02:00
Maxime Gimeno
2f7d66e530
Clean-up
2018-05-07 12:50:41 +02:00
Maxime Gimeno
72c31ebfac
Add a function in PMP to apply a CGAL::Aff_transformation_3 to a mesh.
2018-05-07 12:50:41 +02:00
Sebastien Loriot
80acabc4b4
Merge pull request #3065 from maxGimeno/PMP-Do_intersect_with_different_vpm-GF
...
PMP: do_intersect() work with 2 types of VPM
2018-05-07 11:47:29 +02:00
Sebastien Loriot
1d6918ff4f
Merge pull request #2895 from kkatrio/triangulate_faces_fix
...
Triangulate faces : CDT2 / hole filling
2018-05-07 11:41:58 +02:00
Maxime Gimeno
9327e470c1
Fix doc
2018-05-04 16:11:25 +02:00
Andreas Fabri
2d5c726ac7
Fix PMP
2018-05-04 09:00:08 +02:00
Maxime Gimeno
47635f11fe
Take fimap into account and add a test.
2018-05-03 14:55:49 +02:00
Maxime Gimeno
29e909b87b
Treat nm edges
2018-05-03 12:49:34 +02:00
Maxime Gimeno
861a6a16c5
Fixes
2018-05-03 12:49:34 +02:00
Maxime Gimeno
4a8375ce85
Optimize
2018-05-03 12:49:34 +02:00
Maxime Gimeno
68de1819cf
Move the code to the PMP functio nand document.
2018-05-03 12:49:34 +02:00
Maxime Gimeno
132cf694a0
remove is_valid() from the graph_traits
2018-05-03 12:03:14 +02:00
Maxime Gimeno
6dfa8d0ba3
replace CGAL_is_valid(Mesh) by CGAL::is_valid_polygon_mesh(Mesh)
2018-05-03 12:03:14 +02:00
Sébastien Loriot
c3255eee91
document projection functor named parameter
2018-05-01 14:15:27 +02:00
Sébastien Loriot
ec4675b451
do not build the aabb_tree and the cc map if not needed
2018-05-01 13:50:49 +02:00
Sébastien Loriot
54b6eb0fbc
handle case when there are no constrained edges
2018-05-01 13:50:43 +02:00
Maxime Gimeno
7e2255f797
do_intersect for 2 meshes work with 2 different types of VPM as long as their value_type is the same
2018-04-30 10:39:47 +02:00
Sébastien Loriot
ab9d668f52
first solution to correctly re-constrain edges refined
2018-04-29 13:13:58 +02:00
Sébastien Loriot
95d76709e8
isotropic remeshing can now use a user defined projection functor
...
you can pass it using a named parameter
2018-04-27 16:20:54 +02:00
Mael Rouxel-Labbé
a0427ec756
Fixed abusing Triangulation_cell_base_3 for Delaunay triangulations
...
TriangulationCellBase_3 does not request a circumcenter;
DelaunayTriangulationCellBase_3 does.
Delaunay_triangulation_3 only compiled because
Triangulation_cell_base_3 (and Triangulation_ds_cell_base_3 !)
provided circumcenter() operators and DT3 inherited T3's TDS.
- The circumcenter() functions are removed where they shouldn't exist
- DT3 uses DT_cell_base_3 as cell base instead of T_cell_base_3
- Concepts/Classes that supposedly only required TriangulationCellBase_3
and then built Delaunay triangulations with that (Alpha Shapes, etc.)
are upgraded to request DelaunayTriangulationCellBase_3 (anyway, it
wouldn't compile if you actually provided a model of
TriangulationCellBase_3)
- Fixed various wrong templates in classes/concepts such as
MeshVertexBase_3 not refining RegularTriangulationVertexBase_3
and (only in the doc) defaulting to Triangulation_vertex_base_3
- Removed the deprecated class (for 4+ years) T_cell_base_with_circumcenter
2018-04-26 13:21:53 +02:00
Mael Rouxel-Labbé
17d46e9211
Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
2018-04-26 11:55:17 +02:00
Laurent Rineau
92a7449cac
Merge pull request #3006 from sloriot/PMP_PSP-fixes_for_release
...
Pmp psp fixes for release
2018-04-24 17:34:21 +02:00
Konstantinos Katrioplas
c64e4a9d51
correct macros
2018-04-17 10:29:29 +02:00
Andreas Fabri
37e677e989
Fix compilation error with VC2017 and -permissive- It looks like a compiler bug though
2018-04-13 12:01:23 +01:00
Sébastien Loriot
348c0f92fa
do not overwrite output iterator, return it directly
2018-04-10 17:32:22 +02:00
konstantinos katrioplas
8c279d0b3f
test Polyhedron_3 : part 2 & doc improvements
2018-03-30 14:03:20 +02:00
Konstantinos Katrioplas
652f4d870f
additions and corrections requested
2018-03-28 18:06:41 +02:00
Laurent Rineau
d057f6d9f1
Merge pull request #2958 from sloriot/PMP-coref_more_coplanar_fixes
...
Update incorrectly handled coplanar intersection computation
2018-03-28 17:46:24 +02:00
Konstantinos Katrioplas
70cea9a057
Merge branch 'master' into PMP-smoothing-kkatrio
2018-03-28 15:45:18 +02:00
Laurent Rineau
237735ab73
Merge pull request #2946 from afabri/CGAL-dependencies-GF
...
Move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-27 10:35:23 +02:00
Konstantinos Katrioplas
b90e044302
include license header
2018-03-26 15:24:06 +02:00
Konstantinos Katrioplas
ea0d032878
licence identifier
2018-03-26 15:24:05 +02:00
Konstantinos Katrioplas
7444e749e6
clean empty lines
2018-03-26 15:24:05 +02:00
Konstantinos Katrioplas
3bd7cb7616
comply to std=c++98 && cleaning
2018-03-26 15:24:05 +02:00
Konstantinos Katrioplas
460d5e5bf5
handling iterations from the demo better
2018-03-26 15:24:05 +02:00
Konstantinos Katrioplas
9b03bb0bab
corrections in doc - np
2018-03-26 15:24:04 +02:00
Konstantinos Katrioplas
f06250813e
documentation corrections
2018-03-26 15:24:04 +02:00
Konstantinos Katrioplas
32b576ae1a
typos and small corrections
2018-03-26 14:44:13 +02:00
Sébastien Loriot
5792528fa7
Refreshing PMP-smoothing-kkatrio with master
2018-03-26 14:40:11 +02:00
Konstantinos Katrioplas
8c07709a0b
cleaning & better testing
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
4282c3b600
correctly set the constraints on the rhs
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
bd71359b7b
apply constraints correctly, clean, more tests
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
e96d7207d4
testing all cases
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
4cdd51c7f7
update demo plugin API with new implementation
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
055a2466e7
avoid computing factorization of linear matrix again, clean, use more efficient code by avoiding duplicates when calculating stiffness matrix
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
9010a2d1a2
testing both implementations
2018-03-26 14:33:53 +02:00
Konstantinos Katrioplas
4a0e64e62c
wip: using symmetry of L matrix
2018-03-26 14:33:52 +02:00
Konstantinos Katrioplas
802102fa2e
wip: testing perfomance
2018-03-26 14:33:52 +02:00
Konstantinos Katrioplas
1eb7b22387
wip: use CGAL solver traits instead of Eigen's
2018-03-26 14:33:52 +02:00
konstantinos katrioplas
f04bd6576e
eigen library macro
2018-03-26 14:33:51 +02:00
Sébastien Loriot
bb54e45fd8
fix typos
2018-03-26 14:32:55 +02:00
konstantinos katrioplas
dedc4170e4
examples
2018-03-26 14:32:54 +02:00
konstantinos katrioplas
46eb3b26f3
API polishing
2018-03-26 14:31:49 +02:00
konstantinos katrioplas
e40706ff32
fixed demo plugin small issues
2018-03-26 14:31:49 +02:00
Konstantinos Katrioplas
4ae449effb
explicit scheme new header
2018-03-26 14:31:49 +02:00
Konstantinos Katrioplas
c450e9bc73
demo and headers fixes
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
750badefa4
clean modified curv class
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
c472ac692b
fine tune parameters and fix headers defs
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
c0e1533cc4
remove area normalization step from implicit shape smoothing
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
0693bb81cb
make always use of angle weights
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
40cea7e986
make projection optional
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
958ff819a2
use explicit scheme for shape smoothing as a named parameter
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
89cabad131
iterations np on implicit shape smoothing
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
8d73cdd969
remove edge constraints map and use vertex based
2018-03-26 14:31:48 +02:00
Konstantinos Katrioplas
619b16cb06
constrained edges tests
2018-03-26 14:31:47 +02:00
Konstantinos Katrioplas
0147598121
corrections on the api
2018-03-26 14:31:47 +02:00
Konstantinos Katrioplas
75bea1b696
fixed missed typos after renaming api
2018-03-26 14:30:43 +02:00
konstantinos katrioplas
e6a716d0b7
API minor corrections
2018-03-26 14:30:43 +02:00
konstantinos katrioplas
5fae4da012
cleaning API, overloads, correcting parameters
2018-03-26 14:30:43 +02:00
konstantinos katrioplas
72f71f121a
consistent header filenames
2018-03-26 14:30:43 +02:00
konstantinos katrioplas
dc57315716
typos and corrections in the user & reference manual
2018-03-26 14:30:43 +02:00
konstantinos katrioplas
d49f1dfc1d
fixed bug in indexing in the demo plugin. Using time step instead of iterations & more simple dock widget
2018-03-26 14:30:43 +02:00
konstantinos katrioplas
172b58149b
fix perfomance issue on eigen matrices using triplets
2018-03-26 14:30:42 +02:00
konstantinos katrioplas
e0b711f184
fix temporarily problem with demo stiffness matrix setup
2018-03-26 14:30:42 +02:00
konstantinos katrioplas
dc7fb46ff2
typos in doc
2018-03-26 14:30:42 +02:00
konstantinos katrioplas
13c4b894d1
images and demo plugin
2018-03-26 14:30:41 +02:00
konstantinos katrioplas
54881e81e8
examples and docs
2018-03-26 14:29:30 +02:00
konstantinos katrioplas
4b3364a701
doc better image size - dino
2018-03-26 14:29:30 +02:00
konstantinos katrioplas
2b5d0a5fdd
optimazation of smooth_modified_mcf
2018-03-26 14:29:30 +02:00
konstantinos katrioplas
890f85e316
docs
2018-03-26 14:29:13 +02:00
konstantinos katrioplas
0550bf4c84
setup example and a few comments
2018-03-26 14:28:09 +02:00
konstantinos katrioplas
6b4526102b
gradient descent parameter fix
2018-03-26 14:28:09 +02:00
Pierre Alliez
079f1baf86
Shape smoothing: some comments added to accelerate matrix construction.
...
Konstantinos: this is what is so slow, not the solver!
2018-03-26 14:21:06 +02:00
Pierre Alliez
0b0a9ae38d
attempts to improve speed of shape smoothing
2018-03-26 14:20:41 +02:00
Pierre Alliez
6ddfbe06aa
shape smoothing: use dense vector instead of sparse
2018-03-26 14:20:30 +02:00
Sébastien Loriot
0653e9583a
pass on the doc
2018-03-26 14:20:30 +02:00
konstantinos katrioplas
2c5b80146b
incl. a time parameter
2018-03-26 14:20:30 +02:00
konstantinos katrioplas
5b90d9a805
latest fixes
2018-03-26 14:19:32 +02:00
Pierre Alliez
3b56478bb1
added time parameter to shape smoothing
2018-03-26 14:17:48 +02:00
konstantinos katrioplas
2ca3d01e35
area smoothing tolerance fix
2018-03-26 14:12:42 +02:00
konstantinos katrioplas
23670bb712
add implicit scheme for shape smoothing
2018-03-26 14:12:18 +02:00
konstantinos katrioplas
52126819e0
fix typo
2018-03-26 14:12:08 +02:00
konstantinos katrioplas
6f46f5d55d
rebased summer work
2018-03-26 14:10:49 +02:00
Sébastien Loriot
4824f3bcc9
Merge branch 'master' into gsoc17-summerwork
...
Reworking of 4e4d495ac2
2018-03-26 14:04:36 +02:00
Sébastien Loriot
5af495ea45
remove kernel typedef
2018-03-26 13:59:25 +02:00
konstantinos katrioplas
a1d6164466
License on evaluation class
2018-03-26 13:59:25 +02:00
konstantinos katrioplas
b39fe7803d
mesh quality evaluation class
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
c840481b8c
License
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
897692bc16
document overloads
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
a9cc924001
renaming functions in API
2018-03-26 13:59:24 +02:00
konstantinos katrioplas
2a7e9e81fd
clean curvature flow impl
2018-03-26 13:59:23 +02:00
konstantinos katrioplas
300897c358
corrections in verbose output
2018-03-26 13:59:23 +02:00
konstantinos katrioplas
9706baa796
compatible remeshing function
2018-03-26 13:59:22 +02:00
konstantinos katrioplas
a0e7cf4a7f
cleaning code & use weight calculator which covers better at 0 and Pi making possible many curvature iterations
2018-03-26 13:58:37 +02:00
konstantinos katrioplas
d3f9ac7636
testing different weight calculation methods for curvature flow
2018-03-26 13:58:36 +02:00