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
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
Laurent Rineau
bc36af5eed
Fix CMake warnings about mixed usage of target_link_libraries
...
See https://cmake.org/cmake/help/v3.0/policy/CMP0023.html
2017-11-22 11:06:26 +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
ffd2f62aef
add misisng test file
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
7d90de6687
change polyline definition
2017-11-17 12:55:27 +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
Maxime Gimeno
b9803ec94b
do_intersect() working for 2 Polylines
2017-11-17 12:55:04 +01:00
Maxime Gimeno
7d6bad9ab4
Do_intersect for faces and face-polylines working
2017-11-17 12:55:04 +01:00
Sébastien Loriot
7e12600403
remove deprecated TODO
2017-11-15 22:59:55 +01:00
Laurent Rineau
0681ac6dbc
Fix the TBB_USE_FILE warnings
2017-11-15 17:00:02 +01:00
Laurent Rineau
a9365554c9
Merge pull request #2550 from sloriot/CGAL-add_SPDX_tags
...
Add SPDX License Identifier
2017-11-15 16:48:27 +01:00
Laurent Rineau
3ff09bc549
Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
...
Renew the handle of policies, for CMake-3.10
2017-11-15 16:47:42 +01:00
Laurent Rineau
e6f0119d07
Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
...
Renew the handle of policies, for CMake-3.10
2017-11-15 16:44:31 +01:00
Sébastien Loriot
5c32e0ab62
turn some #ifndef that should be #ifdef
2017-11-15 15:12:41 +01:00
Laurent Rineau
86fb40832a
Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
...
Renew the handle of policies, for CMake-3.10
2017-11-13 12:01:39 +01:00
Laurent Rineau
c6068691fa
Merge pull request #2547 from lrineau/CMake-parse_CTest_XML_output-lrineau
...
CGAL testsuite implemented with CTest plus Python (part.1)
2017-11-13 11:13:54 +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
62c70d41ca
Renew the handle of policies, for CMake-3.10
...
Now that we require CMake>=3.1, we can forget a lot of old CMake policies.
`CMP0053` `OLD` behavior is still needed, because of a bug in Qt5 CMake files, but it will
not be set with CMake>=3.10. Let's assume that a recent CMake version means
a recent Qt5 version.
2017-11-06 14:58:36 +01:00
Laurent Rineau
208005b014
Merge pull request #2565 from MaelRL/Various-Fix_numeric_limits_min_uses_411-GF
...
Fix wrong uses of std::numeric_limits::min() (4.11)
2017-11-03 14:29:30 +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
Mael Rouxel-Labbé
5ef873d67e
Merge remote-tracking branch 'mine/Various-Fix_numeric_limits_min_uses-GF' into Various-Fix_numeric_limits_min_uses_411-GF
2017-10-27 11:57:21 +02:00
Mael Rouxel-Labbé
da5200f577
Fixed wrong uses of std::numeric_limits::min()
2017-10-27 11:40:22 +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
Laurent Rineau
7e9f756935
Replace all std::unary_function by CGAL::unary_function
2017-10-04 15:57:09 +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
Sébastien Loriot
671b7abcb6
do nothing is the model is fixed
2017-09-20 14:33:37 +02:00
Sébastien Loriot
78f3d1a38d
extract the function removing faces and filling hole ...
...
... and use it to handle deg faces
2017-09-20 14:33:37 +02:00
Sébastien Loriot
ea34f1b2dd
remove assertions that are using Surface_mesh features
2017-09-20 14:33:37 +02:00
Sébastien Loriot
03cff151ba
factorize the code
2017-09-20 14:33:36 +02:00
Sébastien Loriot
488858cacc
add a check (not yet factorized) to prevent invalid removal of degenerate faces
2017-09-20 14:33:36 +02:00
Sébastien Loriot
0bc5e715e9
add more debug
2017-09-20 14:33:36 +02:00
Sébastien Loriot
90a4e2eefd
add a condition to prevent a flip that is not possible
2017-09-20 14:33:36 +02:00
Sébastien Loriot
6e9cbde3b1
add a method to remove degree 3 vertices in caps degenerate triangles
2017-09-20 14:33:36 +02:00
Sébastien Loriot
b347c88bc5
add some debug code
2017-09-20 14:33:36 +02:00
Sébastien Loriot
7dbbfc5647
add an option to control the merge of vertex points
...
this is conveniant if we do not want to modify the mesh
when the function is called
2017-09-20 14:33:35 +02:00
Sébastien Loriot
f77baded9b
add function to collect pairs of halfedges closed (up to epsilon)
2017-09-20 12:57:17 +02:00
Sébastien Loriot
18725e8841
rename internal function
2017-09-20 12:57:17 +02:00
Sébastien Loriot
4c496ffa83
remove the stitching modifier and use a function instead
2017-09-20 12:57:17 +02:00
Sébastien Loriot
e392b79883
Merge remote-tracking branch 'cgal/releases/CGAL-4.11-branch'
2017-09-20 12:54:11 +02:00
Sébastien Loriot
a7caa5c433
Merge remote-tracking branch 'cgal/releases/CGAL-4.10-branch'
2017-09-20 12:53:27 +02:00
Sébastien Loriot
47e20a4a15
add missing include directive
2017-09-20 12:52:35 +02:00
Laurent Rineau
9d013d2e59
Fix the default AABB tree in Side_of_triangle_mesh
2017-09-20 12:03:32 +02:00
Laurent Rineau
8f9ea82a14
Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch
2017-09-20 11:17:43 +02:00
Laurent Rineau
5b1828cda2
Merge pull request #2445 from sloriot/PMP-fix_is_stitchable
...
Fix stitchable conditions
2017-09-20 11:13:30 +02:00
Sébastien Loriot
c84014992a
fix the collection of edges to stitch
...
we ignore those incident to a degenerate edge on the border
2017-09-19 15:08:19 +02:00
Sébastien Loriot
4fd381128a
fix stitchable test
...
we were skipping all border edges in the test which was
making it missing some non valid cases detected only
with this border edge (since the test is assymetric
as we consider the first halfedge only for the outer
loop)
2017-09-19 11:52:05 +02:00
Laurent Rineau
36fdb16370
Allow to customize the AABB tree of Side_of_triangle_mesh
...
This is a new optional fourth template parameter of
`Side_of_triangle_mesh`, that is left undocumented for the moment.
2017-09-18 14:56:56 +02:00
Laurent Rineau
037cba3fae
Merge pull request #2336 from maxGimeno/Detect_features-GF
...
PMP: Detect features
2017-09-18 14:29:55 +02:00
Laurent Rineau
cba3b1c20c
Fix detection of border *edges*
2017-09-07 12:07:17 +02:00
Maxime Gimeno
d5ea0b6cbc
Fix warnings and copy PMaps in detect_features.h
2017-09-05 12:03:35 +02:00
Maxime Gimeno
5a9a0bc9fb
Constify read only maps and modify doc accordingly
2017-08-29 12:16:14 +02:00
Andreas Fabri
db67979b71
fix some \ref so that the links go to the package overview
2017-08-25 14:14:01 +01:00
Sebastien Loriot
97b8782a27
Merge branch 'master' into Detect_features-GF
2017-08-18 16:34:29 +02:00
Jane Tournois
126a85d863
use the fact that vertex_incident_pmap is an LValuePropertyMap
...
and add a missing 'const'
2017-08-18 16:14:22 +02:00
Jane Tournois
7408426fae
rename variable to avoid compilation issues
2017-08-18 12:17:50 +02:00
Jane Tournois
3bc33e9458
improve indentation and layout
2017-08-18 12:14:32 +02:00
Jane Tournois
e2e5b1ed05
edge_is_feature_map is not an optional parameter
...
see reviews in the small feature
2017-08-18 10:51:25 +02:00
Jane Tournois
2bc4d10463
use put instead of [] to fit every type of property map
2017-08-18 10:39:35 +02:00
Jane Tournois
2c0b185803
little cleaning
2017-08-17 17:32:35 +02:00
Jane Tournois
47fd45d4a8
fix conversion warning
2017-08-17 17:25:46 +02:00
Jane Tournois
d5aa3db51d
doc and indentation fixes
2017-08-17 17:24:05 +02:00
Jane Tournois
334d4a0c4f
doc : replace "collects" with "marks"
2017-08-17 16:03:46 +02:00
Jane Tournois
0f974aa902
improve user manual
2017-08-17 15:50:00 +02:00
Jane Tournois
12011422f6
fix conversion warning
2017-08-17 15:43:02 +02:00
Jane Tournois
99aec9eda9
fix the definition of "sharp"
2017-08-17 15:42:11 +02:00
Jane Tournois
d2cc5c0575
add typedefs
2017-08-17 15:22:08 +02:00
Jane Tournois
370d7bb591
tidy the example
2017-08-17 12:22:24 +02:00
Maxime Gimeno
848dea1d42
Fixes default VIP and VNFE
2017-08-11 17:28:06 +02:00
Maxime Gimeno
43ff0d092c
Implementation review Jane and sebastien
2017-08-11 15:30:03 +02:00
Maxime Gimeno
080d3a0895
WIP Jane's review
2017-08-11 09:07:32 +02:00
Maxime Gimeno
723492def1
Use existing named_parameters and vertex_incident_patches becomes lvaluepmap,
2017-08-10 15:16:27 +02:00
Maxime Gimeno
1d497d09ff
Fix warnings and error
2017-08-10 09:37:37 +02:00
Maxime Gimeno
9f16bafef3
Fix Warnings
2017-08-09 15:22:45 +02:00
Maxime Gimeno
f670ffe4e2
detect_surface_patches uses connected_components
2017-08-09 10:24:48 +02:00
Maxime Gimeno
32999ddd78
New pass over doc, tests and examples
2017-08-07 14:50:23 +02:00
Maxime Gimeno
1fe1e21bb6
Replace maximum_surface_patch by first_index.
2017-08-07 13:32:02 +02:00
Maxime Gimeno
3f57e98386
Add license file
2017-08-07 12:20:50 +02:00
Maxime Gimeno
1bad0e7202
Use edges instead of halfedges for edge_is_feature_t and map
2017-08-07 11:39:07 +02:00
Maxime Gimeno
222f7f3965
Add an example and a test for detect_features
2017-08-04 15:32:16 +02:00
Maxime Gimeno
d588c55bbb
Make functions free functions and wright doc
2017-08-04 15:06:41 +02:00
Sébastien Loriot
4d3be80122
fix wording
2017-08-03 13:59:44 +02:00
Maxime Gimeno
95dfae314b
Rename file
2017-08-02 16:26:53 +02:00
Maxime Gimeno
2f45a46f7c
Fix and enhance detect_feature
2017-08-02 16:08:33 +02:00
Maxime Gimeno
d4e7b9f622
Fix fwd and plugin
2017-08-02 14:49:18 +02:00
Laurent Rineau
f8760d591b
Merge pull request #2136 from afabri/Polygon_mesh_processing-accelerate_isotropic_remeshing-GF
...
Polygon_mesh_processing: Accelerate Isotropic_remeshing
2017-07-21 10:45:32 +02:00