Commit Graph

1072 Commits

Author SHA1 Message Date
Sébastien Loriot e65ca4aa86 add a function to reverse the orientation of the faces of a mesh with polylines 2016-05-03 18:25:23 +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
Jane Tournois c0f30e18a8 add constrained vertices to isotropic remeshing
those vertices cannot be modified
2016-04-21 15:21:29 +02:00
Jane Tournois 253d4f28a6 update the constraints property map after the end of remeshing 2016-04-21 15:10:02 +02:00
Jane Tournois 1a33081f79 transform EdgeIsConstrainedMap into a member variable 2016-04-21 15:00:46 +02:00
Sébastien Loriot 17edea6299 avoid copying the polygon vector
some functions of Polygon_soup_orienter have been made static
and the function duplicate_singular_vertices was partially
duplicated (no other choice to have the polygon container const)
2016-04-19 20:06:13 +02:00
Sébastien Loriot 592c2bf454 remove the need to set the points 2016-04-19 19:25:29 +02:00
Jane Tournois 269efaa60b improve doc 2016-04-19 11:58:24 +02:00
Jane Tournois 8708376798 check that there is no polygon with twice the same vertex 2016-04-19 11:06:01 +02:00
Jane Tournois 068d93798a edge_map should be filled to be able to circulate around vertices 2016-04-19 10:51:03 +02:00
Jane Tournois 8a87c34f1b use orienter to test manifold-ness 2016-04-18 18:03:24 +02:00
Jane Tournois fb8ac5a9e6 add a parameter to duplicate_singular_vertices to avoid duplicating when required 2016-04-18 18:02:27 +02:00
Philipp Möller b0fb4999f0 Add changes required by review 2016-04-18 12:08:48 +02:00
Philipp Möller ec25aab2d2 Replace vector<vector<size_t>> by a nested range 2016-04-18 12:08:47 +02:00
Philipp Möller f1158a2dfe Explain missing range of points 2016-04-18 12:08:45 +02:00
Philipp Möller 74edea7fa2 Use is_polygon_soup_a_polygon_mesh as pre 2016-04-18 12:08:44 +02:00
Philipp Möller 01190b1027 Fix doc typo 2016-04-18 12:08:41 +02:00
Philipp Möller a9a651d5c5 Enable doc 2016-04-18 12:04:57 +02:00
Laurent Rineau 3bd9e6d557 Merge pull request #995 from janetournois/PMP-fix_compute_normals-jtournois
(Merged from remote-tracking branch 'cgal/releases/CGAL-4.8-branch')
2016-04-14 15:14:45 +02:00
Jane Tournois c7c8c86a9e remove unused variable 2016-04-12 18:17:05 +02:00
Jane Tournois f85d783613 improve computation of a face normal for non-triangular faces
triangulating the face naively around v is much simpler and more accurate than
iterating on prev/curr/next vertices inside the face
2016-04-11 12:15:59 +02:00
Sébastien Loriot f8bbee52b7 Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-04-04 12:09:24 +02:00
Laurent Rineau 6164c91227 Merge changes to PMP from branch 'releases/CGAL-4.8-branch'
Merges:
> 621e16ed Merge pull request #973 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
> 4d1ac46 Merge pull request #974 from janetournois/PMP-complete_remeshing_test-jtournois
2016-04-04 11:22:09 +02:00
Jane Tournois 36c3a7a758 remove unused variable 2016-04-01 10:02:21 +02:00
Jane Tournois f6e312fc86 deal with the degenerate face case, and avoid division by 0
the only way to catch it would be to check that the result is not NaN,
probably not a good idea, in particular for vertex normals

and
Revert "deal with the case where one face incident to v is degenerate"

This reverts commit 52105868b31a2685795e92d9caf4bfe251bcf75c.
2016-03-31 12:26:39 +02:00
Jane Tournois 650cb1d752 change the way we deal with degenerate faces
some may remain and we don't know how to remove them yet
2016-03-31 12:26:19 +02:00
Jane Tournois caa0aaeeb0 fix test for projection
a vertex is reprojected if it is on PATCH, and if it is not constrained
(and this test is the filter to "continue" the loop)
2016-03-31 12:26:01 +02:00
Jane Tournois 1e0b28601a make the flipping step more verbose (see progress) 2016-03-31 12:25:42 +02:00
Jane Tournois e3e03f06f4 deal with the case where one face incident to v is degenerate 2016-03-31 12:25:22 +02:00
Laurent Rineau ae33af9222 Merge branch 'releases/CGAL-4.8-branch'
Merges the following fixes:
> 4025913 Merge pull request #949 from janetournois/BGL-fix_conversion_of_boundary_halfedges-jtournois
> 9c62628 Merge pull request #948 from janetournois/PMP-fix_assertion_isotropic_remeshing-jtournois
> f61402d Merge pull request #929 from sloriot/Polyhedron_demo-Isotropic_remeshing_preserve_duplicates

See also:

* https://github.com/CGAL/cgal/pull/949
* https://github.com/CGAL/cgal/pull/948
* https://github.com/CGAL/cgal/pull/929
2016-03-31 10:55:12 +02:00
Jane Tournois cc28746e18 fix the case where both faces incident to h are degenerate before the flip
and none of them is degenerate after the flip
2016-03-25 10:39:01 +01:00
Laurent Rineau ad73334a0f Merge pull request #821 from afabri/CGAL_property_map-GF
Include consistently <CGAL/property_map.h>
2016-03-24 11:29:09 +01:00
Sébastien Loriot b0d43337de wrap the set in a shared_ptr because a property map should be lightweight 2016-03-17 13:09:39 +01:00
Sébastien Loriot 7680c6f168 use a set instead of a map to avoid keeping handles to removed elements
moreover the map becomes sensitive to the input
2016-03-17 12:58:02 +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 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
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 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
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
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
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
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
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
Simon Giraudot 751d959c05 Fix boost unused typedef warning: replace BOOST_STATIC_ASSERT by CGAL_static_assertion 2016-02-02 14:32:46 +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 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
Sébastien Loriot acba778a9e Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-01-21 11:06:59 +01:00
Sébastien Loriot 3850fbb30c fix license 2016-01-21 09:19:58 +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
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 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
Sébastien Loriot e18bbc442f Add missing model of requirements 2015-12-22 23:01:05 +01:00
Philipp Möller f8e8f5acbb Use std::distance directly
boost::size is buggy in older releases and will try to use operator-()
to get the distance of two iterators, which will lead to errors with
BirectionalIterators. Newer versions call either range.size() or
distance(begin, end). We choose the later as it always works, but
sometimes isn't as effective as possible.
2015-12-17 15:18:15 +01:00
Sébastien Loriot 0eec673c61 rename include guards 2015-12-11 21:20:02 +01:00
Philipp Möller 3ad5c7af8f Writing consistency 2015-12-11 16:18:51 +01:00
Philipp Möller 0f12d0189e Add FaceRange overload to triangulate_faces 2015-12-11 16:03:50 +01:00
Philipp Möller c3133d95f0 Factor code for triangulating a single face 2015-12-11 15:35:12 +01:00
Philipp Möller 15004507e2 Add triangulate_face prototype 2015-12-11 15:35:11 +01:00
Sébastien Loriot 8301fdbf34 move endcond in the same namespace as cond 2015-12-10 23:28:18 +01:00
Sébastien Loriot 53e882ce19 move Weights.h 2015-12-10 23:25:50 +01:00
Sébastien Loriot 0ef509d892 remove unused class + add comment 2015-12-10 23:05:10 +01:00
Sébastien Loriot c8ea231751 use Hole_filling weights
The API of the weight of Surface_mesh being documented
I needed to duplicate some small parts of the code
in /PMP/include/CGAL/internal/Hole_filling/Weight.h
2015-12-10 22:48:21 +01:00
Sébastien Loriot 77daf37540 remove duplicated weigthing functions and use those from PMP instead 2015-12-09 22:10:05 +01:00
Sébastien Loriot 5de303c389 Merge pull request #501 from janetournois/PMP-add_utility_functions-GF
PMP : add utility functions
2015-11-26 14:22:05 +01:00
Jane Tournois be6cd53f33 fix preconditions 2015-11-24 14:19:14 +01:00
Jane Tournois a61fefc839 Merge branch 'PMP-length_of_border-GF-old' into PMP-length_of_border-GF 2015-11-23 17:19:30 +01:00
Jane Tournois 80496b82a4 bug fix : there can be constrained edges on the patch to be remeshed,
and unconstrained patch boundary edges

this commit introduces the possibility to constraint edges somewhere
on the patch while not constraining the boundary of the surface patch
to be remeshed
2015-11-20 15:53:29 +01:00
Jane Tournois fc29daab0e avoid pinching of the patch to be remeshed
this could happen in the case where we try to collapse an edge with
both its vertices on the patch boundary,
but the edge (both halfedges) itself is is_on_patch
2015-11-20 11:10:12 +01:00
Jane Tournois da1833cbed remove assertions
there is no guarantee that we won't generate self intersections
debug code now only displays the nb of self-intersections
2015-11-20 11:05:07 +01:00
Jane Tournois 1d94c84812 remove test in is_collapse_allowed because it's redundant
with first test if (!is_on_patch)
2015-11-20 11:02:20 +01:00
Jane Tournois 8cdfe7d75d fix the use of self_intersections inside debug code 2015-11-19 17:29:22 +01:00
Jane Tournois f358594e92 complete the dump function and its use in the Polyhedron demo 2015-11-19 17:27:36 +01:00
Jane Tournois a76e8c3b70 document border_halfedges and remove_isolated_vertices 2015-11-17 17:32:51 +01:00
Sébastien Loriot 76e9b42913 Merge branch 'old/Polyhedra_corefinement-enhancements-sloriot' into Polyhedra_corefinement-enhancements-sloriot
and accomodates updates due to the merge of Polygon_mesh_processing
2015-11-17 15:49:01 +01:00
Sebastien Loriot d605b6b95f Merge pull request #457 from janetournois/Polygon_mesh_processing-local_remeshing-GF
Polygon mesh processing - add isotropic remeshing
2015-11-17 13:25:45 +01:00
Sebastien Loriot bb85ae0179 Merge pull request #474 from afabri/BGL-suppress_warning-GF
suppress warning in boost as this has to be solved upstream
2015-11-17 13:21:05 +01:00
Jane Tournois 0a12beb5f9 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-11-16 13:06:03 +01:00
Sebastien Loriot 093e381942 Merge pull request #475 from janetournois/PMP-fix_hole_filling_doc-GF
PMP triangulate_hole_polyline documentation
2015-11-13 12:38:12 +01:00
Jane Tournois 502ae1caa2 give a better description of OutputIterator 2015-11-13 10:27:26 +01:00
Jane Tournois cf9eb32b9e remove unused typedefs
(trigger warnings)
2015-11-13 10:00:55 +01:00
Andreas Fabri 6706cc58c4 include header which pragma pushes a warning 2015-11-13 09:47:25 +01:00
Jane Tournois d685d7ae77 introduce a better implementation of border_halfedges
available when a face_index_map is provided,
 either as internal or as a named parameter
2015-11-12 16:45:26 +01:00
Jane Tournois 27bc02ebcf Revert "fix compilation of split_long_edges for Polyhedron"
This reverts commit 213a280eef.

and propose another solution to deal with edges vs halfedges
2015-11-12 15:55:35 +01:00
Jane Tournois 213a280eef fix compilation of split_long_edges for Polyhedron
and use halfedges everywhere
2015-11-12 14:53:47 +01:00
Jane Tournois cc96188a60 add overload for complete mesh 2015-11-12 12:08:34 +01:00
Jane Tournois c0743d6260 improve documentation 2015-11-12 11:54:04 +01:00
Jane Tournois 2aaf9d55d6 fix template parameters doc 2015-11-12 11:16:52 +01:00
Jane Tournois ef40621699 improve doc and rename function 2015-11-12 10:20:19 +01:00
Jane Tournois c9a28eb7af change doc 2015-11-12 10:03:07 +01:00
Jane Tournois 07ae6235bf put mesh as last parameter of get_border, for consistency
and return output iterator
2015-11-12 09:33:22 +01:00
Jane Tournois 70550aac03 todo : more documentation 2015-11-10 16:54:50 +01:00
Jane Tournois d826558d68 edge_length documentation 2015-11-10 16:48:18 +01:00
Sébastien Loriot f5622f21e9 Merge remote-tracking branch 'cgal-dev/PMP-fix_connected_component_doc-GF'
changes only relates to the documentation
Tested in CGAL-4.8-Ic-43
2015-11-10 14:12:25 +01:00
Andreas Fabri 8ca486659d Add a group for intersection detection 2015-11-09 16:36:00 +01:00
Jane Tournois f38e58a35a apply @gdamiand 's review on small feature 2015-11-09 15:44:58 +01:00
Jane Tournois d4634df66e avoid unused variable h 2015-11-09 11:36:36 +01:00
Jane Tournois bb4cfb107e move to assertion_code 2015-11-09 10:55:08 +01:00
Andreas Fabri 94ae28150e backquote 2015-11-07 11:51:37 +01:00
Andreas Fabri ba3bd6dc64 Define connected component properly and introduce more doxygen groups 2015-11-07 11:45:03 +01:00
Sébastien Loriot 5570473329 make normal computation working with FT without sqrt 2015-11-06 14:38:36 +01:00
Sébastien Loriot 29ef0916e6 compute_face_normal already returns a normalized vector 2015-11-06 14:37:51 +01:00
Sébastien Loriot 44176209bb remove extra typename 2015-11-05 20:41:22 +01:00
Sébastien Loriot 03db4f7256 add missing license headers 2015-11-05 20:13:07 +01:00
Sébastien Loriot 0072b649e2 Merge branch 'old/Polygon_mesh_processing-local_remeshing-GF' into Polygon_mesh_processing-local_remeshing-GF 2015-11-05 20:11:10 +01:00
Jane Tournois f55e73e475 doc : distinguish between what should be triangulated, and what does not have to 2015-11-05 20:09:17 +01:00
Jane Tournois 4f320a7c29 update doc 2015-11-05 20:09:17 +01:00
Jane Tournois fd3b738955 remove unused variable and avoid warnings 2015-11-05 20:09:17 +01:00
Jane Tournois 950a3fa5a3 fix doc warning 2015-11-05 20:09:15 +01:00
Jane Tournois 52dbd6ef3d add precondition about protection of constraints
this precondition is here to check whether protection of constraints is
compatible with termination of the refinement step
2015-11-05 20:09:15 +01:00
Jane Tournois 340a52ac44 update doc wrt to @sloriot review 2015-11-05 20:09:15 +01:00
Jane Tournois 007fc60c64 rename default function 2015-11-05 20:09:14 +01:00
Jane Tournois 945d358db5 change function name in "see also" 2015-11-05 20:09:14 +01:00
Jane Tournois 893b80c490 rename function to isotropic_remeshing() 2015-11-05 20:09:14 +01:00
Jane Tournois 57ef5d03f7 remove todo. Works the same for multiple cc 2015-11-05 20:09:14 +01:00
Sébastien Loriot c6e649aa9b Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF
and adapt plugin to CGAL::Three
2015-11-05 20:07:15 +01:00
Sébastien Loriot 54ca52b538 Merge branch 'BGL-SurfaceMesh2SurfaceMesh-GF' into Polygon_mesh_processing-local_remeshing-GF 2015-11-05 19:25:00 +01:00
Jane Tournois 3448f7cd57 Merge branch 'PMP-length_of_border-GF-old' into PMP-length_of_border-GF 2015-11-03 15:34:45 +01:00
Jane Tournois ad2e627a31 documentation and change return types to use Geom_traits::FT 2015-11-03 15:29:15 +01:00
Maxime Gimeno 7c0be4674d Fix for std::sqrt in Mesh_processing
- replaces all the std::sqrt by CGAL::sqrt
2015-10-29 13:44:18 +01:00
Sébastien Loriot bed84e6234 Merge branch 'releases/CGAL-4.7-branch' 2015-10-28 13:45:23 +01:00
Sébastien Loriot 36b68c936f fix duplicated include guard macro name 2015-10-28 13:44:46 +01:00
Sébastien Loriot 770f87dd29 Merge branch 'releases/CGAL-4.7-branch' 2015-10-28 11:21:16 +01:00
Sébastien Loriot 87b6490af7 add missing includes 2015-10-28 11:20:46 +01:00
Andreas Fabri d2ed79d38d Add keep_large_connected_components (code,doc,test) 2015-10-22 09:01:08 +02:00
Sébastien Loriot cb7d309f86 fix include file path and use it in a test
Trivial fix tested locally
2015-09-22 12:42:06 +02:00
Jane Tournois a7c3670f8e do not test is_degenerated on a border halfedge
is_border test should only be an assertion inside the function
also make sure is_degenerated is called only on non-border edges
2015-09-15 17:08:11 +02:00
Jane Tournois 5e2c263cf5 remove debug_normals test
in presence of sharp edges which are not constrained, the "false" result
does not highlight a bug and is misleading
2015-09-15 15:04:59 +02:00
Jane Tournois a0ba10438e fix collapsibility test, and reorder things dealing with the tags
collapse on face range border was broken
2015-09-15 14:57:35 +02:00
Jane Tournois 549266bb8a fix degeneracy test on border 2015-09-15 14:40:55 +02:00
Jane Tournois 6f718be591 rename functions to make it consistent with face_area 2015-09-10 09:30:16 +02:00
Jane Tournois 55ab0f5b06 rename area() to face_area() to avoid ambiguities
also add geom_traits as a named parameter
2015-09-08 09:56:29 +02:00
Jane Tournois 9188ba9de6 add function bbox_3(pmesh) 2015-09-07 15:46:00 +02:00
Jane Tournois 2d251049dd add volume function and test it 2015-09-07 15:11:14 +02:00
Laurent Rineau 7ddefbdcc8 Merge pull request #297 from afabri/CGAL-assert-GF
assert() should not be used in CGAL headers!
2015-09-07 10:58:20 +02:00
Jane Tournois 2160da4ceb add area function for the complete triangulated Surface
use CGAL_PMP_NP_TEMPLATE_PARAMETERS and CGAL_PMP_NP_CLASS
to avoid ambiguities
2015-09-04 17:37:36 +02:00
Jane Tournois 216fafb6af for area(), faces should be triangular (at least for now) 2015-09-04 17:11:59 +02:00
Jane Tournois 2bb201c0ef add documentation and rename file 2015-09-04 16:58:53 +02:00
Jane Tournois e3a3c9939b introduce named parameters in area functions 2015-09-04 15:58:38 +02:00
Jane Tournois 757be4f245 introduce area(face) function 2015-09-04 15:52:13 +02:00
Jane Tournois a4f7911202 introduce named parameters and length(halfedge) function 2015-09-04 15:44:49 +02:00
Jane Tournois 13411283ce remove duplicate include 2015-09-04 14:58:08 +02:00
Jane Tournois 24cb41e31f rename file
it's not about dimensions, but about measures
2015-09-04 14:21:30 +02:00
Jane Tournois 6256bfd44f fix constness and put pmesh as last parameter, as usual 2015-09-04 14:10:13 +02:00
Laurent Rineau 1eab366954 Merge pull request #312 from sloriot/Polyhedron_demo-stl_io_plugin_safer-sloriot
Polyhedron demo: first check that the STL file is a polygon mesh before loading it

Conflicts:
	Polygon_mesh_processing/doc/Polygon_mesh_processing/PackageDescription.txt
2015-09-04 11:36:13 +02:00
Laurent Rineau 59ac9f30fc Merge pull request #293 from sloriot/PMP-fix_remove_degenerate_faces-sloriot
Polygon mesh processing:  fix remove_degenerate_faces() but do not publish it in the documentation
2015-09-04 11:24:36 +02:00
Sébastien Loriot 4931c8c889 first check that the stl file is a polygon mesh before loading it 2015-09-03 15:17:14 +02:00
Jane Tournois 33710fe170 replace std::map with boost::unordered_map
this speeds up the calls to "find" in status()
2015-09-02 16:29:29 +02:00
Jane Tournois e790bda380 move macro inside debug code 2015-09-02 16:05:05 +02:00
Jane Tournois ce54198aa7 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-09-02 15:57:23 +02:00
Andreas Fabri 3a2850eecd Use accelerate_distance_queries() 2015-09-02 14:47:37 +02:00
Andreas Fabri 90cbba8e72 Add functions to measure length of border and area of patch 2015-09-01 10:07:48 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Sébastien Loriot 9514bcc8fe do not publish remove_degenerate_faces that is not yet ready 2015-08-27 11:26:04 +02:00
Sébastien Loriot bfe03f16eb add debug function 2015-08-27 09:56:27 +02:00
Sébastien Loriot f9edc6e4db extract the part responsible for removing all null-edges and create a function 2015-08-27 09:56:27 +02:00
Sébastien Loriot 05ff60df9c remove unused code 2015-08-27 09:56:06 +02:00
Jane Tournois 713f7424ab documentation for remeshing 2015-08-18 18:24:27 +02:00
Laurent Rineau 5d99700c3d Merge pull request #277 from janetournois/Polygon_mesh_processing-GF
Polygon mesh processing - Eigen 3.2 needed for fairing
2015-08-18 18:07:23 +02:00
Jane Tournois 7b93b844f2 integrate the complete test inside the static assert
to avoid inconsistencies between different compilers
2015-08-17 16:49:01 +02:00
Jane Tournois aef04b7dce make compilation more explicit when Eigen < 3.2 is used 2015-08-17 12:08:50 +02:00
Jane Tournois a5c14aad21 fix a bug in collapse_short_edges
an edge that is about to be collapsed can be not on border,
but with both of its vertices on the mesh Border

this causes the appearance of a null_face that causes a seg fault
2015-08-14 18:52:28 +02:00
Jane Tournois 768dfbc0b0 write documentation 2015-08-11 12:56:37 +02:00
Jane Tournois a45368680f add function to remove isolated vertices 2015-08-10 19:03:54 +02:00
Jane Tournois 86896278e5 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-08-07 13:02:35 +02:00
Sébastien Loriot ca19447002 fix warnings detected by clang 2015-08-06 19:39:35 +02:00
Sébastien Loriot 5de888d9dc Revert "move update of the status outside of the constructor"
This reverts commit 6378a51191.

The commit was incorrect and was introducing a huge performance issue
2015-08-06 15:27:55 +02:00
Sébastien Loriot cabb80a4ae if no cc is to be removed, do nothing 2015-08-04 12:22:51 +02:00
Sébastien Loriot 74e6f3ea39 remove named parameter not needed 2015-08-04 12:22:51 +02:00
Sébastien Loriot acd4f70bf0 improve doc 2015-07-31 14:11:39 +02:00
Sébastien Loriot bc30aa5f48 handle the stitching of patches with incorrect orientation
we make two border halfedges matching only if they are opposite
2015-07-31 14:11:38 +02:00
Sébastien Loriot 4dbface316 make the range of halfedge to stitch const
it requires a tweak with PMP macros to desambiguate overloads
2015-07-31 14:11:20 +02:00
Sébastien Loriot 89498ff175 remove less_halfedge named parameter that is no longer needed 2015-07-31 11:18:24 +02:00
Sébastien Loriot d97a0dc1c5 remove less_halfedge named parameter that is not necessary
Since the edge endpoints must be identical, it is error prone
to provide a way to tweak the detection of edges to stitch
2015-07-31 11:15:58 +02:00
Sébastien Loriot aeff7c78a6 fix to correctly handle cases with border vertices 2015-07-29 17:04:31 +02:00
Sébastien Loriot f67d2f7148 add a description of the method used to remove link condition restrictions 2015-07-29 11:07:24 +02:00
Sébastien Loriot 9b1983eeb7 fix indentation 2015-07-29 10:08:23 +02:00
Sébastien Loriot a2ed1face6 remove unused code and variable 2015-07-29 10:06:50 +02:00
Sebastien Loriot 1ebc5f75b5 Merge pull request #196 from janetournois/Polygon_mesh_processing-GF
Polygon mesh processing - small fixes
2015-07-28 17:16:36 +02:00
Jane Tournois fb1714154f fix documentation
this template parameter is not needed!
2015-07-27 16:12:42 +02:00
Jane Tournois 2a6ddd38a4 use get() instead of [] to access vertex point map 2015-07-27 16:12:12 +02:00
Jane Tournois 9abb55125b use get() instead of operator[] for vertex point map
Conflicts:
	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/remesh_impl.h
2015-07-27 16:11:14 +02:00
Jane Tournois 98fecc9a12 fix documentation
this template parameter is not needed!
2015-07-24 12:33:27 +02:00
Jane Tournois c37ed37c4c use get() instead of [] to access vertex point map 2015-07-24 12:31:50 +02:00
Jane Tournois ea1b6b402a fix the use of does_self_intersect 2015-07-24 12:23:32 +02:00
Jane Tournois b8d81cb8f6 add todo 2015-07-24 12:09:50 +02:00
Jane Tournois 87759f9ca8 use get() instead of operator[] for vertex point map 2015-07-24 12:09:04 +02:00
Jane Tournois b5cf442653 make plugins valid for Qt5 2015-07-24 10:05:02 +02:00
Jane Tournois bb3d38c9e7 Merge branch 'Polygon_mesh_processing-local_remeshing-GF-old' into Polygon_mesh_processing-local_remeshing-GF 2015-07-23 17:50:34 +02:00
Sébastien Loriot 7da45ca55c handle the case of a triangle hole with an edge of length 0 2015-07-22 16:08:38 +02:00
Sébastien Loriot a220686d02 satisfies_link_condition->does_satisfy_link_condition to match naming convention 2015-07-21 10:27:27 +02:00
Sébastien Loriot a30ad4be3c use PMP internal function 2015-07-16 16:40:54 +02:00
Sébastien Loriot 25d5a69104 use Side_of_triangle_mesh 2015-07-16 16:32:04 +02:00
Sébastien Loriot c89fa4bd53 simplify bgl named parameters handling with boost < 1.51 and make PMP compatible 2015-07-16 16:01:21 +02:00
Sébastien Loriot b766b511e6 avoid non-necessary inheritance 2015-07-16 13:21:38 +02:00
Sébastien Loriot f2a0d8c201 fix unused variable warning 2015-07-15 16:56:04 +02:00
Sébastien Loriot 45b1f593fc protect debug function by debug macro 2015-07-15 16:02:32 +02:00
Jane Tournois 9b0cd59255 add debugging code 2015-07-15 16:02:32 +02:00
Jane Tournois 2b0061d511 fix inversion of faces in equalize_valences
when endpoints of the halfedge being flipped belong to something else
than PATCH
2015-07-15 16:02:32 +02:00
Jane Tournois 4b85ca5460 add assertions 2015-07-15 16:02:32 +02:00
Jane Tournois 0ef807ac06 missing space in verbose mode 2015-07-15 16:02:32 +02:00
Jane Tournois 9b1eac30c2 verbose mode 2015-07-15 16:02:32 +02:00
Jane Tournois 6c00963c80 more verbosity 2015-07-15 16:02:32 +02:00
Jane Tournois d423378321 remove visitor (became useless) 2015-07-15 16:02:31 +02:00
Jane Tournois a1056c57dc little cleaning 2015-07-15 16:02:31 +02:00
Jane Tournois ed9276295d add stuff to verbose mode 2015-07-15 16:02:31 +02:00
Jane Tournois 77529d985d move debug code to debug macro 2015-07-15 16:02:31 +02:00
Jane Tournois e7b8734306 fix compilation for Polyhedron 2015-07-15 16:02:31 +02:00
Jane Tournois 8950cef414 add degeneracy test 2015-07-15 16:02:31 +02:00
Jane Tournois a603d5a705 fix collapse_short_edges
now there are degenerate faces in equalize_valences
2015-07-15 16:02:31 +02:00
Jane Tournois bfa1dfea2c add code to remove degenerate faces after each edge collapse 2015-07-15 16:02:31 +02:00
Jane Tournois 7ad049d14c don't use status visitor, it is not enough to keep halfedges status up-to-date 2015-07-15 16:02:31 +02:00
Jane Tournois e87c65bd3d rename variable for consistency 2015-07-15 16:02:30 +02:00
Jane Tournois ab1ddcac25 fix non-inversion test 2015-07-15 16:02:30 +02:00
Jane Tournois b7c0acae56 first operations for visitor that deals with status map 2015-07-15 16:02:30 +02:00
Laurent Rineau b639f7d051 Fix a compilation error
One cannot bind a temporary object to a non-const reference.
2015-07-15 16:02:30 +02:00
Jane Tournois 4b7a997df0 add the ability to use a Visitor for a BGL graph using an overload of graph_traits
TODO : is_valid(mesh) does not compile on msvc. To be fixed
2015-07-15 16:02:30 +02:00
Jane Tournois f8eb659abd remove debug_mesh_border
since it has become wrong when we have 2 adjacent patches
with a constrained polyline separating them
the same vertex can appear more than twice
2015-07-15 16:02:30 +02:00
Jane Tournois 237c20321f deal with degenerate faces better 2015-07-15 16:02:29 +02:00
Jane Tournois 6214feaaf1 add stuff for verbose mode 2015-07-15 16:02:29 +02:00
Jane Tournois 4f5be714bb add warning code 2015-07-15 16:02:29 +02:00
Jane Tournois e3121567fa automatically re-select border of selection after refining only border 2015-07-15 16:02:29 +02:00
Jane Tournois 7da4b81a19 add very verbose mode 2015-07-15 16:02:29 +02:00
Jane Tournois 99e0a245a0 add macro for verbose mode 2015-07-15 16:02:29 +02:00
Jane Tournois dea8a59dbb make flip_allowed test simpler, and reorganize flipping step
to save useless operations
2015-07-15 16:02:28 +02:00
Jane Tournois 4e95d9cc05 check that flip does not create a non-triangle face
this can happen around sharp tips of the domain,
when no incident edge is selected for protection
2015-07-15 16:02:28 +02:00
Jane Tournois df1985d296 use named parameters 2015-07-15 16:02:28 +02:00
Jane Tournois 07820b8e0d remove dump 2015-07-15 16:02:28 +02:00
Jane Tournois 4f58f5182e add debug code and fix constness 2015-07-15 16:02:28 +02:00
Jane Tournois 2dd3ae2407 fix remeshing of a patch WITH protection of constrained edges 2015-07-15 16:02:28 +02:00
Jane Tournois d56e54ec6f fix the edge collapse step
degenerate faces where responsible for some self intersections, so we remove
them after collapses and flips

the function that checks that no triangle gets inverted by a flip has also
been fixed
we had to check both the 1-ring of source(h) and target(h), even though those
vertices got the same coordinates
The common faces in their rings were degenerate, but their normals had all to
be checked for consistent orientation

also add more debugging code
2015-07-15 16:02:28 +02:00
Jane Tournois 891b426f82 new attempt to avoid self intersections 2015-07-15 16:02:27 +02:00
Jane Tournois 679e93b252 remove degenerate faces a posteriori 2015-07-15 16:02:27 +02:00
Jane Tournois 7543f35ff2 adapt code to PATCH_BORDER cases and add debugging code 2015-07-15 16:02:27 +02:00
Jane Tournois 97379e50b2 add null vector test (should not happen!) 2015-07-15 16:02:27 +02:00
Jane Tournois 6f667c7a24 reorganize 2015-07-15 16:02:27 +02:00
Jane Tournois 8b5902b038 add function to split long edges listed by the user
this changes the remesher internal API only
2015-07-15 16:02:27 +02:00
Jane Tournois 8d5312d263 reorganize test 2015-07-15 16:02:26 +02:00
Jane Tournois 117a24807d make tests simpler 2015-07-15 16:02:26 +02:00
Jane Tournois 67874c737d fix test when splitting of constraints is allowed 2015-07-15 16:02:26 +02:00
Jane Tournois 2b7bf24205 add documentation for protect_constraints 2015-07-15 16:02:26 +02:00
Jane Tournois 00cc96f968 add code to protect_constraints
edges tagged as constraints are not refined when protect_constraints is true
2015-07-15 16:02:26 +02:00
Jane Tournois ebeb1fdcaa edge_is_constrained_map does not need to be kept as a member
it is used only in the initialization, to fill the halfedge_status_map
2015-07-15 16:02:26 +02:00
Jane Tournois c460008f23 make test simpler (it is equivalent) 2015-07-15 16:02:26 +02:00
Jane Tournois f7204a0a99 add edge_is_constrained_map as a parameter for remeshing
this property map "tags" the edges that should be kept in the remeshed mesh.
They can be splitted or collapsed, but their vertices can't move with the
Laplacian, and they can't be flipped.

in the Polyhedron demo, this feature is integrated in order to remesh two
adjacent surface patches and keep the (possibly sharp) polyline that is
delimitating them
2015-07-15 16:02:26 +02:00
Jane Tournois c554466b80 fix default value 2015-07-15 16:02:25 +02:00
Jane Tournois caad50a628 documentation 2015-07-15 16:02:25 +02:00
Jane Tournois c41bc2250d start documentation for get_border and incremental_triangle_based_remeshing 2015-07-15 16:02:24 +02:00
Jane Tournois e6a7b5a0a3 use get and set to access vertex point map, instead of operator[] 2015-07-15 16:02:24 +02:00
Jane Tournois f958fe7d5d fix warning 2015-07-15 16:02:24 +02:00
Jane Tournois d34d47a6d5 Revert "detect sharp edges and surface patches"
This reverts commit 80b1363f1db4db8391398188bcb33427ffc69aac.
2015-07-15 16:02:23 +02:00
Jane Tournois 83957ed495 add code to the selection tool to be able to select a surface patch
for now it works only for facets and the checkbox is not used
2015-07-15 16:02:23 +02:00
Jane Tournois 54922319ff remove todo 2015-07-15 16:02:23 +02:00
Jane Tournois abc92fcc24 fix assertion code 2015-07-15 16:02:23 +02:00
Jane Tournois d7caded018 remove useless template qualifier 2015-07-15 16:02:23 +02:00
Jane Tournois c4496845e4 use const ref for FaceRange input 2015-07-15 16:02:23 +02:00
Jane Tournois 5e6a0e635d fix status updates (does not fix it all) 2015-07-15 16:02:22 +02:00
Jane Tournois 1797dab16d fix notations 2015-07-15 16:02:22 +02:00
Jane Tournois 940a92d69a fix get_border : return only halfedges that belong to `faces` 2015-07-15 16:02:22 +02:00
Jane Tournois 8b9bcefe22 remeshing of the patch
works when the patch describes the full mesh
otherwise, it enters an endless loop for now
2015-07-15 16:02:22 +02:00
Jane Tournois d2f18f8a3e fix compilation for Polyhedron_3 2015-07-15 16:02:22 +02:00