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