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
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