Commit Graph

787 Commits

Author SHA1 Message Date
Andreas Fabri 2c54acb056 Use to_double to make it work with Epec 2016-06-14 14:17:03 +02:00
Sebastien Loriot aeab78c74b Merge pull request #1143 from janetournois/PMP-isotropic_remeshing_speedup-jtournois
PMP isotropic_remeshing speedup. Don't use the MESH Halfedge_status
2016-06-09 16:21:09 +02:00
Sebastien Loriot 1ebaebc6aa Merge pull request #1101 from maxGimeno/Enhance_triangulate_facets-GF
Robustify triangulate facets
2016-06-08 09:50:48 +02:00
Jane Tournois 4e964ab64d don't use the MESH status
We now consider that MESH halfedges are the ones that are not in the patch,
i.e. not in the status map

halfedges with the MESH status are not used, apart from close to
PATCH_BOUNDARY edges.

this speeds up the isotropic remeshing algorithm, in particular when only
a small patch is remeshed
2016-06-07 16:18:42 +02:00
Maxime Gimeno 1741739449 Fixes the choice of the diagonal for a quad. 2016-05-26 16:50:49 +02:00
Sébastien Loriot 5f0a9dcbf3 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch' 2016-05-24 16:54:58 +02:00
Maxime Gimeno 817155d7f0 Update doc 2016-05-24 08:40:14 +02:00
Jane Tournois acc7e16626 add more collapsibility tests 2016-05-23 17:09:19 +02:00
Maxime Gimeno 400f44c2a3 Make triangulate_faces() a boolean. 2016-05-23 16:36:07 +02:00
Maxime Gimeno 0a5bea6dba Use split_face if the facet is a quad. 2016-05-23 16:30:19 +02:00
Maxime Gimeno b63dae993a Make triangulate_face() a boolean 2016-05-23 15:36:14 +02:00
Jane Tournois ca3883b837 it is necessary to check that e is still collapsible
when it is poped out from the priority queue. Its situation may have changed
because of the changes that have been made in its neighborhood

+ checking that is_on_patch_border(next_on_patch_border(next(he, mesh_))
is useless, because next_on_patch_border is on patch border by definition

reorganize the collapsibility check
2016-05-23 12:17:48 +02:00
Jane Tournois f2fe1a69d0 fix assertion code 2016-05-20 12:24:28 +02:00
Jane Tournois aef3c6cc62 fix include 2016-05-20 12:23:42 +02:00
Jane Tournois 355c698185 avoid creating self intersections close to boundaries
the collapse step was still creating self-intersections
when it happened in a particular configuration close to boundary

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2016-05-19 13:16:37 +02:00
Sébastien Loriot d892ef1a89 Merge pull request #1030 from janetournois/PMP-remeshing_with_patch_ids-jtournois
PMP : new features for isotropic_remeshing
2016-05-09 09:43:08 +02:00
Sebastien Loriot 7630d2a6fc Merge pull request #875 from sloriot/Triangulation_2_and_PMP-fix_Triangulation_2_projection_traits_3
PMP: make triangulate_faces works with non filtered kernels
2016-05-05 14:55:11 +02:00
Sebastien Loriot cba2fd46ca Merge pull request #1052 from janetournois/PMP-isotropic_remeshing_non_manifold_bug-jtournois
PMP : fix for isotropic_remeshing
2016-05-04 15:03:57 +02:00
Sébastien Loriot 3c8871f8a9 Merge pull request #739 from bo0ts/Pmp-poly_soup_poly_mesh-pmoeller
Add PMP function is_polygon_soup_a_polygon_mesh
2016-05-04 15:01:25 +02:00
Jane Tournois 32cbaf914b edges incident to boundary cannot always be flipped 2016-04-29 17:37:17 +02:00
Jane Tournois dab8b7e312 Merge branch 'PMP-remeshing_with_patch_ids-jtournois' of github.com:janetournois/cgal into PMP-remeshing_with_patch_ids-jtournois 2016-04-29 17:24:50 +02:00
Jane Tournois dbedd1358d edges incident to boundary cannot always be flipped 2016-04-29 17:14:02 +02:00
Sébastien Loriot 09e076922c remove compilation error and a conversion warning 2016-04-29 16:53:53 +02:00
Jane Tournois eb13dffd53 fix typo! 2016-04-29 16:30:19 +02:00
Sébastien Loriot cc7d686d16 remove unused typedefs 2016-04-29 14:01:52 +02:00
Jane Tournois eb1747b28b boost::size has compilation issues in boost 1.53 (see testsuite 4.9-Ic-29)
and FaceRange is model of Range, so .size() is available
2016-04-25 11:02:06 +02:00
Laurent Rineau 64ea03f9ec Fix a compilation error
`boost::size` does not exist unless `<boost/range/size.hpp>` is
included, at least on my machine.
2016-04-22 17:30:55 +02:00
Jane Tournois 99b7cb8216 check the face_index map to be checked actually is the internal map 2016-04-22 17:15:01 +02:00
Jane Tournois ccf66afe26 check face_index map is initialized
this is a minimal check, that checks that the 2 first faces of the range
do not share the same index
This test is not complete and the complete check should test that no 2 vertices
share the same index, but that's too costly to be worth it here
2016-04-22 16:25:17 +02:00
Jane Tournois 638b0ba9ab document that if face_index map exists internally, it should be initialized 2016-04-22 15:31:12 +02:00
Jane Tournois 7749a3402b Polygon should also be RandomAccessContainer 2016-04-22 15:04:10 +02:00
Jane Tournois 1c614bb0dc replace std::vector<Point> and std::vector<Polygon> with appropriate range concepts 2016-04-22 12:43:47 +02:00
Jane Tournois 9cf539c8a9 change requirement of PolygonRange
operator[], size(), begin() and end() are all available in RandomAccessContainer
2016-04-22 12:26:03 +02:00
Jane Tournois 5b56f2a6a8 fix doc 2016-04-22 11:18:50 +02:00
Jane Tournois bfe4d815a2 document face_patch_map 2016-04-22 09:53:20 +02:00
Jane Tournois 21a869491b document face_patch_map 2016-04-21 16:00:40 +02:00
Jane Tournois 2b3b07a2f9 add mising timer start 2016-04-21 15:32:13 +02:00
Jane Tournois a829161ca1 avoid computing connected_components when it's not needed 2016-04-21 15:32:12 +02:00
Jane Tournois e7c9bab5ae avoid constructing the Border_constraint_pmap when it's not needed
i.e. when it's given in the named parameters
2016-04-21 15:32:11 +02:00
Jane Tournois 768c7439f7 make dealing with patch ids safer 2016-04-21 15:31:01 +02:00
Jane Tournois 1f0a11191d do not project back constrained vertices 2016-04-21 15:30:59 +02:00
Jane Tournois 2fb5fa4a26 ecmap_ will be updated at the end of the remeshing process
this "put" is useless
2016-04-21 15:29:56 +02:00
Jane Tournois f777c53b61 add stuff to verbose mode 2016-04-21 15:29:53 +02:00
Jane Tournois ba91119696 make sure an edge between two patches is considered a constraint 2016-04-21 15:28:33 +02:00
Sébastien Loriot ded29c7304 correct definition of Self 2016-04-21 15:26:55 +02:00
Jane Tournois 296bcdb04b back to previous version of Patch_id_property_map 2016-04-21 15:26:53 +02:00
Jane Tournois badfb8f2b8 remove default values. Values are given by every call to this constructor 2016-04-21 15:26:51 +02:00
Jane Tournois 5f5397a5d3 parameters pmesh and ecmap can't be used here 2016-04-21 15:25:29 +02:00
Jane Tournois f0bb4febb5 improve remeshing test and get() in pmap 2016-04-21 15:25:28 +02:00
Jane Tournois ee89276102 isotropic remeshing : introduce surface_patch ids as an input read write pmap 2016-04-21 15:23:20 +02:00