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
Sébastien Loriot
7e12600403
remove deprecated TODO
2017-11-15 22:59:55 +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
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
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
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