Maxime Gimeno
2758143116
fixing the topology test.
2018-02-19 18:04:03 +01:00
Sébastien Loriot
209f1a246c
iteratively remove degree 3 vertices incident to a degenerate face
2018-02-19 18:04:03 +01:00
Sébastien Loriot
f3a3b5eb5e
fix the collapsibility check of connected components of degenerate faces
2018-02-19 18:04:03 +01:00
Maxime Gimeno
59b72cb364
Add some enhancements to remove_self_intersections()
2018-02-19 18:04:02 +01:00
Sébastien Loriot
12c57b588a
fix condition to drop patch with dangling edges
2018-02-19 09:34:46 +01:00
Sébastien Loriot
c0fc3e92bf
avoid identical faces in case of coplanar
2018-02-19 09:11:36 +01:00
Sébastien Loriot
d785378bdd
workaround issue with msvc
2018-02-15 17:06:31 +01:00
Sébastien Loriot
50dfffcedf
Sort halfedge of coplanar faces intersecting in autorefinement case
...
Since the faces are coming from the same mesh...
2018-02-15 10:31:31 +01:00
Sébastien Loriot
c20177c55d
add TODO
2018-02-15 10:31:31 +01:00
Sébastien Loriot
3eb109a944
better handling of dangling edges
2018-02-15 10:31:31 +01:00
Sébastien Loriot
e9596acaec
fix issue with intersection edges not found
...
this happen when such an edge if not on the same
sheet (and would be found next thanks to the
multimap).
2018-02-15 10:31:31 +01:00
Sébastien Loriot
e11a1d8617
fix patches to keep in coplanar cases
2018-02-15 10:31:31 +01:00
Sébastien Loriot
129b4c48fb
use union find to track incident between patches and discard nested intersections
2018-02-15 10:31:31 +01:00
Sébastien Loriot
80d820a10e
first version of autorefinement able to handle self-intersection of 3 faces
...
the code is not working with coplanar faces for now and does not handle
more that 3 faces meeting at a point not more that 2 triangles intersecting
along an edge
2018-02-15 10:29:27 +01:00
Sébastien Loriot
483f69728e
Refresh branch
2018-02-12 22:21:38 +01:00
Laurent Rineau
f310fc588d
Merge pull request #2690 from sgiraudot/Classification-ETHZ_random_forest-GF
...
Classification: ETHZ Random Forest
2018-02-01 17:35:30 +01:00
Simon Giraudot
6269309d86
Use CGAL include for boost counting/transform iterators everywhere
2018-01-23 11:09:52 +01:00
Laurent Rineau
e72444ab60
Merge pull request #2709 from lrineau/CGAL-fix_merge_of_PR_2478-GF
...
Fix the merge of PR #2478 into releases/CGAL-4.11-branch
2018-01-22 10:06:21 +01:00
Laurent Rineau
dd3357c508
Merge pull request #2738 from sloriot/PMP-distance_update_max
...
Make the update of the max value correct
2018-01-19 15:22:22 +01:00
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