Commit Graph

1030 Commits

Author SHA1 Message Date
Sébastien Loriot 45406a5296 Merge pull request #788 from bo0ts/Installation-split_config-pmoeller
Split CGALConfig.cmake and CGALExports.cmake
2016-03-06 15:36:55 +01:00
Sebastien Loriot ef3721a581 Merge pull request #881 from janetournois/PMP-isotropic_remeshing_reduce_aabbtree-jtournois
PMP isotropic remeshing : reduce the internal aabb_tree to the input face_range
2016-03-04 13:28:11 +01:00
Sebastien Loriot 717ec22664 Merge pull request #874 from janetournois/PMP-isotropic_remeshing_improvements-jtournois
PMP::isotropic_remeshing() - improve management of constraints
2016-03-03 17:00:34 +01:00
Sebastien Loriot 5870f1361a Merge pull request #872 from afabri/PMP-namespace_PMP-GF
The namespace forwarding goes in the user code, not in a CGAL header
2016-03-03 17:00:08 +01:00
Jane Tournois 733e84abbf the input triangles are only composed of the face_range to remesh
this reduces the size of the aabb_tree for projection
and fixes the fact that the face range only should be triangulated, not the
entire polygon mesh
2016-03-03 12:26:14 +01:00
Jane Tournois ce42c3062f halfedge and face descriptors should be hashable 2016-03-03 11:59:55 +01:00
Sébastien Loriot d7e9261d58 hide the filtered projection traits behind the projection traits
the selection of the base class is done using Kernel::Has_filtered_predicates
2016-03-02 21:57:54 +01:00
Sébastien Loriot a2935493e1 add missing using namespace 2016-03-02 20:12:16 +01:00
Sébastien Loriot c3854cb656 fix warnings 2016-03-02 20:10:39 +01:00
Sébastien Loriot fbe36bc8c0 add missing typename 2016-03-02 20:05:05 +01:00
Sebastien Loriot d51b9cbb27 Merge pull request #840 from afabri/Polyhedon-isolated-vertices-GF
Deal with isolated vertices when turning a polygon soup in a polyedral surface
2016-03-02 17:19:22 +01:00
Jane Tournois bf63963830 add constrained vertices to isotropic remeshing
those vertices cannot be modified
2016-03-02 17:08:38 +01:00
Andreas Fabri dd8a68c4c5 The namespace forwarding goes in the user code, not in a CGAL header 2016-03-02 16:52:13 +01:00
Jane Tournois 586a92f736 update the type of edge_is_constrained_map
now the pmap of constraints gets updated by isotropic remeshing
2016-03-02 15:56:20 +01:00
Jane Tournois ab6956e188 fix corners in isotropic remeshing
they do not get truncated anymore
2016-03-02 15:52:31 +01:00
Jane Tournois dc0090e9b8 remove duplicate function split_long_edges
by exploiting the edge_is_constrained_map as read-write pmap
this is not documented, and only for demo purposes (at least for now)
2016-03-01 16:28:06 +01:00
Jane Tournois 63884d0033 update the constraints property map after the end of remeshing 2016-03-01 15:30:52 +01:00
Jane Tournois 32bcdb4186 transform EdgeIsConstrainedMap into a member variable 2016-03-01 14:03:28 +01:00
Andreas Fabri 8663b3ccbe deal with isolated vertices when turning a polygon soup in a polyedral surface 2016-02-29 11:04:33 +01:00
Sébastien Loriot 392c292cc5 handle isolated vertices when computing normal 2016-02-29 10:07:44 +01:00
Andreas Fabri eb90e8e3e1 Include consistently <CGAL/property_map.h> 2016-02-24 12:09:36 +01:00
Sebastien Loriot c1b3b784a7 Merge pull request #777 from janetournois/Polyhedron_demo-polyhedron_item_for_quads-GF
Polyhedron item : improve computation of normals
2016-02-22 08:24:11 +01:00
Andreas Fabri 1918e01c9a fix type requirement of the property map 2016-02-19 11:19:08 +01:00
Andreas Fabri de159f13fc Remve requirement for default constructible FaceNormalMap 2016-02-19 11:11:42 +01:00
Sébastien Loriot 0fc5846f07 change dummy property map to read-only to avoid a warning
I also it is safer to produce a compilation error if used as
a read/write pmap
2016-02-18 17:08:15 +01:00
Sébastien Loriot ceccbb887b fix copy-paste error 2016-02-17 11:51:31 +01:00
Philipp Möller 4211a4f01e Globally remove CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS
This is a Cmake 2.4.3 variable that isn't even documented anymore.
2016-02-16 17:02:55 +01:00
Sébastien Loriot d7b5f70181 refine bug-fix: also refine created faces
The refinement is an iterative process, newly created faces must
also be considered as refinable.
2016-02-15 14:57:57 +01:00
Sébastien Loriot 6c4f1274ef refine and fairing functions requires a triangle mesh 2016-02-15 14:35:26 +01:00
Sébastien Loriot 77b69cc881 fixes for polygon_soup_to_polygon_mesh
- add a missing header
  - remove unneed inheritance
  - fix doc to mention internal point pmap requirement
  - Point is not a requirement of the MutableFaceGraph concept
2016-02-15 13:38:52 +01:00
Jane Tournois d3ce97f566 use face normals map as input of compute_vertex_normal
in the named parameters
2016-02-12 15:01:40 +01:00
Jane Tournois e94d675c4f for a triangle, compute normal only once 2016-02-11 19:15:46 +01:00
Jane Tournois 1afce415b6 fix the display of quad meshes with problems
by separating the quads from non-triangular faces
this also prevents from computing a CDT2 for each quad
2016-02-11 18:45:22 +01:00
Philipp Möller 0a04a3a48f Use CGAL_DOC_VERSION 2016-02-11 15:37:54 +01:00
Sébastien Loriot 30f81e8d70 remove todo done 2016-02-10 18:47:34 +01:00
Sébastien Loriot eb2ba8cefe rename Surface_modeling package to Surface_mesh_deformation for consistency 2016-02-08 12:25:49 +01:00
Sebastien Loriot ca6486f202 Merge pull request #742 from sloriot/PMP-fix_weight
Polygon mesh processing: fix bug in weight
2016-02-07 18:15:29 +01:00
Andreas Fabri 0e880cb475 Add text; Add an \ingroup; Capitalize 2016-02-05 18:31:28 +01:00
Sebastien Loriot 718eae7a00 Merge pull request #714 from sgiraudot/CGAL-Fix_boost_warning_unused_typedef-GF
Fix boost warning (unused typedef)
2016-02-05 14:59:28 +01:00
Sébastien Loriot 2243f20695 fix bug in weight
if the source of he is v0 then v1==v0
2016-02-05 12:17:08 +01:00
Sébastien Loriot 2219747dd3 Merge pull request #708 from janetournois/PMP-cleanup_tests-GF
PMP - cleanup tests
2016-02-03 09:47:19 +01:00
Sebastien Loriot ebf66069c3 Merge pull request #706 from afabri/PMP_include_graph_traits-GF
Deal with deprecated code
2016-02-03 09:44:11 +01:00
Sébastien Loriot 7cf081e061 add missing graph_traits include 2016-02-02 17:35:30 +01:00
Simon Giraudot 751d959c05 Fix boost unused typedef warning: replace BOOST_STATIC_ASSERT by CGAL_static_assertion 2016-02-02 14:32:46 +01:00
Jane Tournois ad7dfc230b rename function 2016-02-02 10:19:10 +01:00
Jane Tournois bb65a245cc remove duplicate test 2016-02-02 10:16:44 +01:00
Andreas Fabri b84596aff9 include graph_traits file for Polyhedron_3 2016-02-02 09:28:18 +01:00
Sébastien Loriot aa94453c1e fix submenu name 2016-02-01 16:14:58 +01:00
Andreas Fabri 4c9c668dc9 deal with deprecated code 2016-02-01 15:52:52 +01:00
Sebastien Loriot f6147f5b08 Merge pull request #672 from janetournois/PMP-fix_remeshing_patch_borders-jtournois
PMP isotropic remeshing : fix collapse step with inside borders
2016-01-27 13:37:03 +01:00
Sébastien Loriot 0d60c1626e add missing include directives 2016-01-26 18:42:08 +01:00
Jane Tournois 2f3de6e80c remove remeshing of a patch from the test
because the patch has been modified by split_long_edges,
so the "patch" container is not consistent anymore

it would be nice to use detect_sharp_edges to collect a patch in this test
2016-01-26 10:00:11 +01:00
Jane Tournois a7c54c024a fix assertion and is_constrained function 2016-01-26 09:27:14 +01:00
Jane Tournois 5d8d1c65b8 if deviation is not getting better, do not make the flip
this tiny change seems to improve a lot the overall quality of the
remeshed polyhedron, by avoiding some pathological cases with
vertices of valence 3 (away from border)
2016-01-25 17:37:03 +01:00
Jane Tournois 856d41e8ca last (default) case should return false i.e. not collapsible 2016-01-25 10:53:43 +01:00
Sébastien Loriot 4c4b191209 Merge pull request #604 from bo0ts/BGL-add_clear-pmoeller
Add BGL helper CGAL::clear
2016-01-23 09:18:56 +01:00
Jane Tournois 1be4ceba2a collapse step in isotropic remeshing fix
dealing with patch border halfedges needs a different treatment than
"inside patch" halfedges
2016-01-22 13:02:40 +01:00
Sebastien Loriot efde6e3dc5 Merge pull request #606 from janetournois/PMP-improve_isotropic_remeshing-jtournois
PMP - Improve isotropic remeshing
2016-01-21 09:21:00 +01:00
Sébastien Loriot 3850fbb30c fix license 2016-01-21 09:19:58 +01:00
Sébastien Loriot cf08261299 Merge pull request #652 from sloriot/BGL-document_selection_functions
BGL: document selection functions
2016-01-20 17:13:21 +01:00
Sébastien Loriot acb541de2e remove todo 2016-01-19 11:32:43 +01:00
Sébastien Loriot 1792146afd document split_graph_into_polylines 2016-01-19 09:30:00 +01:00
Jane Tournois b3f470723b fix the test - it was working by accident!
faces of 'patch' are modified by the call to split_long_edges
so let's separate border protection and remeshing of a patch
into 2 separate calls
2016-01-18 15:06:10 +01:00
Jane Tournois 83de44dab8 when split_long_edges is called, no aabb_tree is built
so don't delete it
2016-01-18 14:28:16 +01:00
Laurent Rineau 1456abac26 Fix a compilation error 2016-01-18 14:28:15 +01:00
Jane Tournois 5bc410556b move internal file to internal/Isotropic_remeshing 2016-01-18 14:28:14 +01:00
Jane Tournois 1e61e24d85 remove patch_ids from aabb_primitives, they have become useless
the AABB_tree_remeshing is a simple aabb_tree<triangle_primitive> now
2016-01-18 14:28:13 +01:00
Jane Tournois 910c7759d0 fix return type and get a valid result from Patch_id_property_map! 2016-01-18 14:28:12 +01:00
Jane Tournois c7926a87b0 temporary bug fix
why is Patch_id_property_map broken when we get to use it?
2016-01-18 14:28:11 +01:00
Jane Tournois fddfb4f933 add debug code 2016-01-18 14:28:10 +01:00
Jane Tournois 5dfd8e783f comment failing assertion 2016-01-18 14:28:09 +01:00
Jane Tournois 0964b8fae1 use an aabb tree of triangles with patch_id to be able to reproject
on the same surface patch
2016-01-18 14:28:08 +01:00
Jane Tournois bb4073a4f2 remove constrained_edges_, it has become useless 2016-01-18 14:28:07 +01:00
Jane Tournois faa843f9c4 change face component property map 2016-01-18 14:28:06 +01:00
Jane Tournois 6ee71b5bf7 this property map should be modifiable 2016-01-18 14:28:05 +01:00
Jane Tournois 3802a8dcac update the patch ids property map inside remeshing process 2016-01-18 14:28:04 +01:00
Jane Tournois 7da1304544 replace connected components property map by a permanent one 2016-01-18 14:28:03 +01:00
Sébastien Loriot 34e58e32b1 restore usage of constrained edge map 2016-01-18 14:28:00 +01:00
Sébastien Loriot a38444c48b fix compilation issues and add a comment for @janetournois 2016-01-18 14:27:59 +01:00
Jane Tournois f4ce0f6eae this commit attempts to improve the projection step
we try to make the projection step keep vertices on the same connected component,
wrt constrained edges

there are some issues that need to be fixed :
- the use of edge_is_constrained_map in the calle to PMP::connected_components()
causes compilation errors. So it's commented for now
- the patch ids that are stored in the reference aabb_tree (which remains
valid through iterations) are not the same as the patch ids computed at
the end of each iteration, in the projection step. It should be made consistent
to be able to use the Filtered_projection_traits
2016-01-18 14:27:58 +01:00
Jane Tournois 36a133784d fix default value 2016-01-18 14:27:57 +01:00
Jane Tournois 64f26ad1eb make 1d remeshing an option in the remeshing widget 2016-01-18 14:09:43 +01:00
Jane Tournois 6bcff2b21d introduce tangential_relaxation along 1D features
1D smoothing is performed at a vertex only when its incident halfedges
are 2, and form an angle larger than 120 degrees
to avoid "breaking" corners
2016-01-18 14:09:42 +01:00
Sébastien Loriot 902c66d341 fix typo 2016-01-13 15:10:50 +01:00
Jane Tournois a444b343d1 doc : move remeshing functions to the "Meshing" group
note it was already the case in PackageDescription.txt
2016-01-11 12:38:35 +01:00
Jane Tournois ae1ea30d45 reorder parameters for consistency in PMP package 2016-01-11 12:20:45 +01:00
Jane Tournois 0ab047eb37 reorder variables for API consistency in PMP package 2016-01-11 12:12:59 +01:00
Jane Tournois 9c51c1a5c1 fix constness of parameter 2016-01-11 11:06:01 +01:00
Jane Tournois 74355818b1 reorder parameters for border_halfedges() 2016-01-11 10:19:41 +01:00
Philipp Möller 0691b59d86 Use clear in keep_largest_connected_components 2016-01-08 13:18:16 +01:00
Philipp Möller c510ece187 Whitespace fixup 2016-01-08 12:58:36 +01:00
Sébastien Loriot e64ae35a6e Merge pull request #542 from bo0ts/Documentation-release_build2-pmoeller
Allow to build the documentation in a release
2016-01-07 09:21:46 +01:00
Sebastien Loriot e6308db001 Merge pull request #543 from sloriot/PMP-unify_weight
Pmp unify weight
2016-01-06 14:54:26 +01:00
Sebastien Loriot 7bb333c5f5 Merge pull request #576 from sloriot/PMP-enhancement_from_bindings
Pmp enhancement from bindings
2016-01-06 14:52:32 +01:00
Sébastien Loriot 21abce214a bug fix for triangulate_hole_polyline with no third point
if PointRange is not default constructible, triangulate_hole_polyline cannot be called
without third points
2016-01-05 16:14:13 +01:00
Sebastien Loriot 5e20b46f5b Merge pull request #546 from bo0ts/Pmp_triangulate_face-pmoeller
Add triangulate_face and triangulate_faces range overload
2016-01-04 10:48:17 +01:00
Sébastien Loriot e4f6cb9f4e there is no predicate class 2015-12-30 09:18:16 +01:00
Sébastien Loriot 92f545e388 add a convenience overload for an edge 2015-12-29 16:56:33 +01:00
Sébastien Loriot 9695d63eb7 add missing includes 2015-12-29 16:55:28 +01:00
Philipp Möller 064b7dffc1 Incorporate doc suggestion 2015-12-27 19:22:29 +01:00