Maxime Gimeno
cde00f7757
Clean-up and overload.
2018-02-19 18:04:54 +01:00
Maxime Gimeno
3fdc7b67b2
remove non_filled_holes
2018-02-19 18:04:54 +01:00
Sébastien Loriot
935bba4ad3
use dynamic property maps + clean up
2018-02-19 18:04:54 +01:00
Maxime Gimeno
1a1fcf9553
Add a test.
2018-02-19 18:04:03 +01:00
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
Laurent Rineau
78e7060525
Merge pull request #2712 from afabri/CGAL-VC+warnlevel_4-GF
...
Deal with VC++ warnings of level /W4
2018-02-19 14:27:06 +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
Maxime Gimeno
688b5dd06e
Move dependencies creation to package_info and add dependencies to git
2018-02-02 12:08:05 +01:00
Maxime Gimeno
8bde832931
Fix METIS headers in BGL
2018-02-02 12:08:05 +01:00
Maxime Gimeno
a676d5a60e
Try to fix errors in classification checks
2018-02-02 12:08:05 +01:00
Maxime Gimeno
acd0a72edf
Modify travis script to test dependencies
2018-02-02 12:08:05 +01:00
Maxime Gimeno
ae36b452bc
Add dependencies of all packages
2018-02-02 12:08:05 +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
e00c4f67d6
Fix missing propagations of PSP named parameters API change
2018-01-10 16:39:34 +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
ae6d3afafb
plurial
2018-01-03 15:13:25 +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
396fc1d6b1
add a note about exactness of the do intersect predicates
2018-01-03 15:04:52 +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
93b5fd9f62
rephrasing
2018-01-03 13:43:15 +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
ddd4112324
use named parameter
2017-12-20 09:26:48 +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
a1c39fdf11
rename test
2017-12-13 16:18:45 +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
Mael Rouxel-Labbé
638bfee3fd
Regroup and complete BGL named parameters tests
...
Along the way, apply the same fix as in f191e6114a
(*_sampling should be named use_*_sampling)
2017-12-13 10:49:50 +01:00
Sébastien Loriot
731a9b38c8
update user manual
2017-12-13 10:43:10 +01:00
Sébastien Loriot
82f931f556
be more verbose in case of error
2017-12-13 10:18:08 +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
Sébastien Loriot
bca397c4ff
update user manual
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
b0cbe41a50
Fixes in test.
2017-12-13 10:16:52 +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
Giles Bathgate
f0395ae618
Polygon Mesh Processing documenation - Correct spelling mistake
2017-12-12 17:55:40 +00: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
Simon Giraudot
4354c5b0e8
Update doc of Named Parameters for PMP
2017-12-11 12:08:27 +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
3c6640bf59
Merge pull request #1436 from lrineau/CGAL-new_cmake-GF
...
Renewal of CMake scripts: header-only, ctest, CMake>=3.1
# Conflicts:
# Installation/config/testfiles/CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.cpp
2017-12-05 18:20:05 +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
c3571a1c44
fix int to bool conversion warning
2017-11-30 15:43:56 +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
97b45039f0
increase precision of the output
2017-11-28 10:21:45 +01:00
Sébastien Loriot
55020142c7
make sure the mesh is cleared before filling it again
2017-11-28 10:21:45 +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
ceb5b0c68a
copy-paste error
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
b974c34ea4
add an example failing because there are locally 3 surfaces intersecting along an edge
2017-11-28 10:21:45 +01:00
Sébastien Loriot
6cce6b0995
add testsuite and testcases
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
3c330813b1
update example
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