Laurent Rineau
5b5002f694
Merge pull request #2738 from sloriot/PMP-distance_update_max
...
Make the update of the max value correct
2018-01-19 15:21:22 +01:00
Andreas Fabri
38b2e57b11
PMP
2018-01-17 17:59:35 +00:00
Laurent Rineau
f7cbe80c7d
Merge pull request #2711 from sloriot/PMP-Janes_commits
...
More verbose debug output
2018-01-17 10:43:06 +01:00
Sébastien Loriot
499f3c4604
make the update of the max value correct
2018-01-15 18:22:11 +01:00
Simon Giraudot
ae41b4af74
Fix namespace in PMP
2018-01-10 16:38:35 +01:00
Jane Tournois
2650a46d5f
fix implicit conversion warning (size_type to bool)
2018-01-05 09:25:11 +01:00
Jane Tournois
4a8b735792
remove nested if, already tested
2018-01-05 09:25:11 +01:00
Jane Tournois
b7e641ef6a
add verbosity for debugging
2018-01-05 09:25:11 +01:00
Laurent Rineau
42b11ddf29
Revert the merge of PR #2478
...
This reverts the merge commit 46cc91e787 onto
488c3e2879 .
2018-01-04 17:54:08 +01:00
Sébastien Loriot
9fe73a801e
Merge pull request #2552 from maxGimeno/PMP_does_intersect-GF
...
PMP: do_intersect
2018-01-04 15:34:18 +01:00
Sebastien Loriot
e3f78ff10e
Merge pull request #2545 from maxGimeno/PMP_orient_connected_components-GF
...
PMP : Orient_connected_components function
2018-01-04 15:31:21 +01:00
Sebastien Loriot
625df00b19
Merge pull request #2219 from afabri/BGL-generic_property_map-GF
...
BGL: Add an API for adding and removing a property map
2018-01-04 15:28:54 +01:00
Sébastien Loriot
29ef1e566b
make it clear than any intersection will make the predicate to return true
2018-01-03 15:09:35 +01:00
Sébastien Loriot
ba1664e6d1
specify that the point is a 3D point
2018-01-03 13:48:27 +01:00
Sébastien Loriot
be51b908a1
add missing link and missing dots
2018-01-03 13:35:17 +01:00
Sébastien Loriot
d90c76368d
initialize the hedge status map + always do the update for new halfedge
2018-01-02 11:33:41 +01:00
Sébastien Loriot
230ba205e3
update link to np page
2017-12-22 23:01:09 +01:00
Sébastien Loriot
4590be2920
update link to np page
2017-12-22 22:58:42 +01:00
Sebastien Loriot
b6cdb1ae5b
Merge pull request #2686 from sloriot/Demo-duplicate_nm_vertices
...
Add plugin to duplicate non-manifold vertices
2017-12-22 22:10:50 +01:00
Sébastien Loriot
fe65254d13
use unordered map instead of map
2017-12-21 09:20:04 +01:00
Sébastien Loriot
942db1bba8
avoid conversion warnings
2017-12-21 09:19:51 +01:00
Sébastien Loriot
d1597f2fb5
Merge branch 'maxGimeno/PMP_orient_connected_components-GF' into cgal/master
2017-12-19 17:34:51 +01:00
Sébastien Loriot
430ad5bc72
Merge branch 'maxGimeno/PMP_does_intersect-GF' into cgal/master
2017-12-19 17:31:29 +01:00
Laurent Rineau
61e662c4e4
Merge pull request #2649 from sgiraudot/BGL-Regroup_named_parameters-GF
...
Regroup PMP named parameters with BGL named parameters
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/parameters_interface.h
2017-12-19 16:33:44 +01:00
Laurent Rineau
1c2e9df8cf
Merge branch 'releases/CGAL-4.11-branch'
2017-12-19 16:29:10 +01:00
Laurent Rineau
5181cd7474
Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch
...
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/measure.h
2017-12-19 16:19:22 +01:00
Sébastien Loriot
a9a85b37e6
fix compilation issues and warnings
2017-12-19 14:43:30 +01:00
Sébastien Loriot
569649e810
add function to duplicate non-manifold vertices + add plugin
2017-12-15 09:16:45 +01:00
Sébastien Loriot
2db6203c44
fix range type
2017-12-14 17:17:59 +01:00
Sébastien Loriot
e97ef309f3
add named parameter for overlapping test
2017-12-14 17:12:37 +01:00
Sébastien Loriot
6011be6fa9
allow to change the named parameters from which the vpm is taken
2017-12-14 17:12:20 +01:00
Andreas Fabri
50e041134e
Changes after @sloriot's review
2017-12-14 13:00:34 +00:00
Andreas Fabri
ee8c0fad5d
Changes after @sloriot's review
2017-12-14 10:49:02 +00:00
Sébastien Loriot
4b1430ca07
use a named parameter for choosing inward or outward orientation
2017-12-14 11:23:43 +01:00
Sébastien Loriot
a49f50c8aa
add missing using directives
2017-12-14 10:41:47 +01:00
Sébastien Loriot
0d8f33f67d
remove duplicated typedef
2017-12-14 10:38:11 +01:00
Laurent Rineau
7df26c594b
Merge branch 'master' into BGL-generic_property_map-GF
2017-12-14 09:46:01 +01:00
Laurent Rineau
fe81d31ec2
Merge branch 'master' into PMP_does_intersect-GF
2017-12-13 16:25:32 +01:00
Sébastien Loriot
e482e3c30c
do not use volume to avoid confusion with bounded volume
2017-12-13 16:17:19 +01:00
Sébastien Loriot
abadd74b12
use tm for the variable name of a triangle mesh
2017-12-13 15:58:40 +01:00
Sébastien Loriot
fe6b6b13e8
move internal functions in the PMP namespace
2017-12-13 15:45:42 +01:00
Sébastien Loriot
9820a9bacd
do_intersect for 2 meshes now also can test for overlaps
2017-12-13 15:37:22 +01:00
Sébastien Loriot
6b98f2db97
move functions
2017-12-13 15:36:22 +01:00
Sébastien Loriot
e91761bdbb
extract the geom traits from the named parameter
2017-12-13 15:35:02 +01:00
Sébastien Loriot
1ab1635fb4
move implementation is free functions
2017-12-13 14:01:17 +01:00
Sébastien Loriot
f88092bfad
remove useless ref
2017-12-13 13:44:16 +01:00
Sébastien Loriot
c35f45b9d3
volume intersection test is actually an overlap test
2017-12-13 13:37:04 +01:00
Sébastien Loriot
9123802d83
fix function name as it is actually the converse that is tested
2017-12-13 13:32:24 +01:00
Sébastien Loriot
5a04bc7053
clean up
2017-12-13 13:31:09 +01:00
Mael Rouxel-Labbé
fe9d21a6cd
Fix links to all_default()
2017-12-13 10:54:21 +01:00
Sébastien Loriot
4c2964ba69
fix namespace change
2017-12-13 10:17:45 +01:00
Sébastien Loriot
f9b61facd7
update doc of does_bound_a_volume() + add default for bool parameter
2017-12-13 10:17:45 +01:00
Sébastien Loriot
d3e0fc820f
update doc of orient() + turn checks into assertions
2017-12-13 10:17:45 +01:00
Sébastien Loriot
3f45d98501
remove useless tests since the mesh must be closed
2017-12-13 10:17:45 +01:00
Maxime Gimeno
93c7018ab0
Update doc
2017-12-13 10:17:45 +01:00
Maxime Gimeno
687e5b6c60
Add requirement close for orient function
2017-12-13 10:17:42 +01:00
Maxime Gimeno
6c42ce6958
Doc review
2017-12-13 10:17:08 +01:00
Maxime Gimeno
67d06cadb6
Add a function that orient a closed triangle mesh to make it bound a volume.
2017-12-13 10:17:04 +01:00
Maxime Gimeno
0f4f30b37b
Add a boolean to specify output orientation
2017-12-13 10:16:58 +01:00
Maxime Gimeno
497f46f4d3
Robustify
2017-12-13 10:16:58 +01:00
Maxime Gimeno
4a381cdb42
Avoid isolated vertices
2017-12-13 10:16:58 +01:00
Maxime Gimeno
dbb63e155d
Fices in the doc and the test
2017-12-13 10:16:40 +01:00
Maxime Gimeno
9fd5dda4fe
Add an action to inside out plugin for orienting connected components
2017-12-13 10:16:40 +01:00
Maxime Gimeno
e7f61869cb
Fix case triangles orthogonal to XY plane.
2017-12-13 10:16:40 +01:00
Maxime Gimeno
9f986ea9ef
Add a function and associated test that orient all the connected components of a triangulated face graph positively.
2017-12-13 10:16:23 +01:00
Mael Rouxel-Labbé
ad947da752
Give each package a NamedParameters.txt
2017-12-12 00:07:57 +01:00
Simon Giraudot
a52b14a776
Update tag namedparameters -> namedparameterspmp
2017-12-11 12:08:59 +01:00
Laurent Rineau
68cf051563
Fix <CGAL/Polygon_mesh_processing/measure.h>
...
It requires `CGAL::exact(FT)` from `<CGAL/Lazy.h>`.
Fixes #2654 .
2017-12-07 10:07:16 +01:00
Sébastien Loriot
f191e6114a
fix named parameter functions
2017-12-06 17:46:24 +01:00
Laurent Rineau
a48ca62967
Merge pull request #2642 from sloriot/PMP-add_missing_include_4.12
...
Add missing directive
# Conflicts:
# Polygon_mesh_processing/include/CGAL/polygon_mesh_processing.h
2017-12-05 18:26:38 +01:00
Laurent Rineau
bc3a0c7271
Merge pull request #2638 from sloriot/PMP-experimental_autorefinement
...
Add experimental autorefinement code
2017-12-05 18:26:23 +01:00
Laurent Rineau
f37630bc0f
Merge branch 'releases/CGAL-4.11-branch'
...
# Conflicts:
# Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h
# Kernel_23/test/Kernel_23/test_result_of.cpp
2017-12-05 18:14:23 +01:00
Laurent Rineau
77664fb683
Merge pull request #2641 from sloriot/PMP-missing_includes
...
Add missing include directives
2017-12-05 17:58:17 +01:00
Laurent Rineau
438200154b
Merge pull request #2602 from sloriot/PMP-fix_verbosity_remesh
...
Turn some #ifndef that should be #ifdef
2017-12-05 17:58:07 +01:00
Simon Giraudot
426a72af74
Merge parameters_interface.h to BGL
2017-12-01 15:32:29 +01:00
Simon Giraudot
3dc39c7641
Regroup PMP named parameters with BGL named parameters
2017-11-30 16:05:11 +01:00
Sébastien Loriot
63de8495d0
add missing directive
2017-11-29 14:48:22 +01:00
Sébastien Loriot
94efd620d9
add missing include directives
2017-11-29 14:46:04 +01:00
Andreas Fabri
1f8849dfea
Make dynamic property API similar to the non dynamic case
2017-11-29 08:28:16 +00:00
Sébastien Loriot
ff9dc98390
remove non-needed #undef
2017-11-28 13:53:07 +01:00
Sébastien Loriot
6b38454803
add missing identifier
2017-11-28 13:49:56 +01:00
Sébastien Loriot
56762a60a4
move all functions related to autorefinement in experimental namespace
...
+ remove all public documentation associated to it
2017-11-28 11:30:44 +01:00
Sébastien Loriot
c22f455f2f
do the collect of edges no longer on the intersection in the stitching collect
2017-11-28 10:21:45 +01:00
Sébastien Loriot
bcc88dcb25
Merge patches kept and patches removed and update the set of intersection
...
That way internal intersection edges and vertices also get removed
2017-11-28 10:21:45 +01:00
Sébastien Loriot
0f0a67b55e
fix error and warnings in release mode
2017-11-28 10:21:45 +01:00
Sébastien Loriot
32aea69cba
fix bug when two coplanar faces intersect while sharing an edge
...
the edge should ignore the shared edge as there is no stitching needed
2017-11-28 10:21:45 +01:00
Sébastien Loriot
f0ce3644f8
bugfix: use the correct halfedge for setting next pointer
2017-11-28 10:21:45 +01:00
Sébastien Loriot
47b4a3941b
update user and reference manual
2017-11-28 10:21:45 +01:00
Sébastien Loriot
2feff1c01a
handle open meshes
2017-11-28 10:21:45 +01:00
Sébastien Loriot
857f996c3f
avoid reporting duplicated coplanar face pairs by sorting them in the callback
2017-11-28 10:21:45 +01:00
Sébastien Loriot
9954a41e3f
handling two intersecting edges that are identical for autorefinement
2017-11-28 10:21:45 +01:00
Sébastien Loriot
3d434f7953
correctly initialize bitset to 1
2017-11-28 10:21:45 +01:00
Sébastien Loriot
adcfc00996
do not block the fixing when there is a non-manifold situation
...
Note that is might pose pb in case the status of the patch is
changed in another case
2017-11-28 10:21:44 +01:00
Sébastien Loriot
247ad9ec1b
by default patches are tagged as kept
...
the purpose of the function being to remove self-intersection
I decided to not remove self-inclusion (as it might be surprizing
considering the name of the function)
2017-11-28 10:21:44 +01:00
Sébastien Loriot
ad4327530f
clean up
2017-11-28 10:21:44 +01:00
Sébastien Loriot
54998f8246
fix comment
2017-11-28 10:21:44 +01:00
Sébastien Loriot
983d3cbdb8
WIP for self-intersection removal using autorefinement
2017-11-28 10:21:44 +01:00
Sébastien Loriot
a093cd5e9f
use a small struct instead of a two element map
2017-11-28 10:17:05 +01:00
Sébastien Loriot
d449fa56f7
move mesh_to_intersection_edges to the output builder
2017-11-28 10:17:05 +01:00
Sébastien Loriot
efb2f596bb
move an_edge_per_polyline_map in the output builder
2017-11-28 10:17:05 +01:00
Sébastien Loriot
ea31cc4bde
add autorefine
2017-11-28 10:17:04 +01:00
Sébastien Loriot
70d1d18461
Add function to compute auto-intersection of a surface
2017-11-28 10:17:04 +01:00
Jane Tournois
2feb79a16b
Add example for dynamic_property_map
2017-11-27 16:35:30 +00:00
Maxime Gimeno
c940bbd20d
Update doc
2017-11-27 15:58:56 +01:00
Maxime Gimeno
57bbb4cd92
More fixes for pre-review
2017-11-20 14:54:09 +01:00
Maxime Gimeno
31161a7788
Fix doc.
2017-11-17 12:55:28 +01:00
Maxime Gimeno
830f1e3f80
add volumic tests and tests data files
2017-11-17 12:55:28 +01:00
Maxime Gimeno
4d19c0e1b1
Add named parameters and fix mesh id in range calculation.
2017-11-17 12:55:28 +01:00
Maxime Gimeno
691649590c
Add a function to compute the number of pairs of intersecting meshes in a range of meshes.
2017-11-17 12:55:28 +01:00
Maxime Gimeno
55a0bbc628
fix doc
2017-11-17 12:55:27 +01:00
Maxime Gimeno
27f29bc6f2
Add overloads for polylines ranges and tests that go with them
2017-11-17 12:55:27 +01:00
Maxime Gimeno
e21ff58b6a
Update doc.
2017-11-17 12:55:27 +01:00
Maxime Gimeno
536c0246cf
Changes and hide enable_if in doc.
2017-11-17 12:55:27 +01:00
Maxime Gimeno
334b4be9b2
Remove useless code.
2017-11-17 12:55:05 +01:00
Maxime Gimeno
edc49e77b7
Move intersection computation functions in internal.
2017-11-17 12:55:05 +01:00
Maxime Gimeno
ece79dd277
Add default values for NPs and no more need for Kernel in do_intersect. Also rename and un-document intersection functions.
2017-11-17 12:55:05 +01:00
Maxime Gimeno
71817eb67a
Add polylines intersections detection to the surface_intersection plugin
2017-11-17 12:55:05 +01:00
Maxime Gimeno
47defffbdb
Documents the new functions
2017-11-17 12:55:05 +01:00
Maxime Gimeno
5a5accaaa8
Move intersection code into a header
2017-11-17 12:55:04 +01:00
Sébastien Loriot
7e12600403
remove deprecated TODO
2017-11-15 22:59:55 +01:00
Sébastien Loriot
5c32e0ab62
turn some #ifndef that should be #ifdef
2017-11-15 15:12:41 +01:00
Sébastien Loriot
ee57fc2d6c
add SPDX identifier for files under the GPL-3+ license
2017-11-12 10:17:51 +01:00
Laurent Rineau
666ff0c862
Merge pull request #2544 from janetournois/PMP-corefinement-improve-doc-GF
...
PMP corefinement : improve doc
2017-10-27 18:00:42 +02:00
Laurent Rineau
a1d6d2a7a7
Merge pull request #2514 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
...
Polyhedron demo - fix isotropic remeshing plugin
2017-10-23 17:14:37 +02:00
Laurent Rineau
7caa6ea021
Merge pull request #2514 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
...
Polyhedron demo - fix isotropic remeshing plugin
2017-10-23 16:53:18 +02:00
Jane Tournois
a7a94ac1d7
improve doc
...
add a precondition,
and move a piece of doc where it should be
2017-10-19 15:23:24 +02:00
Jane Tournois
5a45fdf99d
Merge branch 'PMP-fix_isotropic_remeshing_next_to_corners-jtournois' into Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
2017-10-17 15:45:30 +02:00
Jane Tournois
fb0d7840d5
remove useless check for reverse version
2017-10-17 15:30:37 +02:00
Jane Tournois
aa758493b1
Merge branch 'PMP-fix_isotropic_remeshing_next_to_corners-jtournois' into Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
...
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2017-10-16 14:49:02 +02:00
Jane Tournois
03e7265cef
a Polyhedron_3 does not have an internal pmap for face_patch_id_t
...
so the condition was always returning false for a Polyhedron
we are inside the demo, so this condition can be safely removed
2017-10-16 13:04:42 +02:00
Laurent Rineau
46cc91e787
Merge pull request #2478 from mtola/master
...
fix bug -> 2x 2 missing "inline" to prevent duplicate symbols during …
2017-10-13 17:06:22 +02:00
Laurent Rineau
0533547da9
Merge pull request #2447 from sloriot/Demo-add_more_repair_functions
...
add more repair functions in the Polyhedron demo
2017-10-13 17:00:47 +02:00
Laurent Rineau
6bda8ad7d5
Merge pull request #2516 from janetournois/PMP-fix_isotropic_remeshing_with_isolated_vertices-jtournois
...
PMP - fix isotropic remeshing with isolated vertices
2017-10-13 16:54:35 +02:00
Sébastien Loriot
01bda3f852
add function to close boundary cycle of size 2
...
use it after the general stitching function
2017-10-12 14:38:41 +02:00
Sébastien Loriot
a2cc276ccb
simplify the code by avoid to have an extra map for the edge to be stitched
...
the code changes a little bit the output as some border cycles of size 2
can be created (these edges were not set for stitching for example if
there were a third edge that could be stitched and was rejected by the
manifold test)
2017-10-12 14:19:58 +02:00
Laurent Rineau
107cdccd6d
Merge pull request #2438 from lrineau/Mesh_3-test_polyhedral_complex_with_surface_mesh-GF
...
Mesh_3: make it work with Surface_mesh
2017-10-11 19:14:49 +02:00
Jane Tournois
8d486694dc
use check_normals() inside collapse_does_not_invert_face()
2017-10-10 12:51:04 +02:00
Jane Tournois
c657f43f19
deal with more than 2 surface patches in check_normals(v)
...
until now it did not deal with the corner cases
2017-10-10 12:16:03 +02:00
Jane Tournois
6e8bb6b03e
deal with more than 2 patches in the collapsibility checks
2017-10-10 11:48:37 +02:00
Jane Tournois
ddaad24e63
add corner case conditions for collapsibility
2017-10-10 11:46:31 +02:00
Jane Tournois
5cc6209528
filter out isolated vertices
...
for tangential_relaxation and projection
2017-10-09 16:38:57 +02:00
Jane Tournois
6a5c46dd50
remove duplicate member variable
2017-10-09 11:27:06 +02:00
Jane Tournois
3e4e4968f7
add missing vertex_point_map
2017-10-09 11:26:34 +02:00
Jane Tournois
f6418c6145
add a little verbosity
2017-10-09 11:22:54 +02:00
Sébastien Loriot
e9cb74d927
remove doc of parameter removed
2017-10-03 14:00:50 +02:00
Sébastien Loriot
26c1543d14
remove the requirements on the absence of degenerate edges
...
it is no longer needed thanks to the union-find used to merge vertices
2017-10-03 13:58:12 +02:00
Sébastien Loriot
7fdf9cad8c
integrate the are_vertices_stitchable test into the check for non-manifold edges
...
also reinit the union-find on vertices as the master vertex kept
might be one marked as non-stitchable
2017-10-03 13:41:58 +02:00
Sébastien Loriot
d23b301cea
filter edges to be stitched to avoid creating non-manifold vertices
...
edges filtered have two endpoints to be merged
2017-10-02 16:20:05 +02:00
Sébastien Loriot
07bb1d6839
use union-find to merge vertices and decide which vertex to keep
...
This is needed if two patches have edges stitched with identical
vertex point coordinates.
2017-09-29 17:51:58 +02:00
Sébastien Loriot
67791520a1
ignore degenerate edges during the collection of edges to stitch
2017-09-29 16:39:34 +02:00