Jane Tournois
7fde6edb32
rename relaxation named parameters
2016-06-07 12:38:27 +02:00
Jane Tournois
5ab581dc1e
be more verbose
2016-06-06 17:13:50 +02:00
Jane Tournois
4112b0295f
add a named parameter to be able to run more than one laplacian iteration
...
at each isotropic_remeshing iteration
2016-06-06 13:58:54 +02:00
Maxime Gimeno
1741739449
Fixes the choice of the diagonal for a quad.
2016-05-26 16:50:49 +02:00
Sébastien Loriot
5f0a9dcbf3
Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch'
2016-05-24 16:54:58 +02:00
Maxime Gimeno
817155d7f0
Update doc
2016-05-24 08:40:14 +02:00
Jane Tournois
acc7e16626
add more collapsibility tests
2016-05-23 17:09:19 +02:00
Maxime Gimeno
400f44c2a3
Make triangulate_faces() a boolean.
2016-05-23 16:36:07 +02:00
Maxime Gimeno
0a5bea6dba
Use split_face if the facet is a quad.
2016-05-23 16:30:19 +02:00
Maxime Gimeno
b63dae993a
Make triangulate_face() a boolean
2016-05-23 15:36:14 +02:00
Jane Tournois
ca3883b837
it is necessary to check that e is still collapsible
...
when it is poped out from the priority queue. Its situation may have changed
because of the changes that have been made in its neighborhood
+ checking that is_on_patch_border(next_on_patch_border(next(he, mesh_))
is useless, because next_on_patch_border is on patch border by definition
reorganize the collapsibility check
2016-05-23 12:17:48 +02:00
Jane Tournois
f2fe1a69d0
fix assertion code
2016-05-20 12:24:28 +02:00
Jane Tournois
aef3c6cc62
fix include
2016-05-20 12:23:42 +02:00
Jane Tournois
355c698185
avoid creating self intersections close to boundaries
...
the collapse step was still creating self-intersections
when it happened in a particular configuration close to boundary
# Conflicts:
# Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2016-05-19 13:16:37 +02:00
Sébastien Loriot
a1a6e0bb0f
remove todos and add missing entry
2016-05-17 17:05:46 +02:00
Sébastien Loriot
cfe8876f38
doc typo
2016-05-17 16:55:42 +02:00
Sébastien Loriot
d892ef1a89
Merge pull request #1030 from janetournois/PMP-remeshing_with_patch_ids-jtournois
...
PMP : new features for isotropic_remeshing
2016-05-09 09:43:08 +02:00
Sebastien Loriot
7630d2a6fc
Merge pull request #875 from sloriot/Triangulation_2_and_PMP-fix_Triangulation_2_projection_traits_3
...
PMP: make triangulate_faces works with non filtered kernels
2016-05-05 14:55:11 +02:00
Sebastien Loriot
cba2fd46ca
Merge pull request #1052 from janetournois/PMP-isotropic_remeshing_non_manifold_bug-jtournois
...
PMP : fix for isotropic_remeshing
2016-05-04 15:03:57 +02:00
Sébastien Loriot
3c8871f8a9
Merge pull request #739 from bo0ts/Pmp-poly_soup_poly_mesh-pmoeller
...
Add PMP function is_polygon_soup_a_polygon_mesh
2016-05-04 15:01:25 +02:00
Sébastien Loriot
1e828e1c04
add missing include directive
2016-05-02 16:00:55 +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
b27447d2c0
fix badly resolved rebase conflict
2016-04-22 11:05:36 +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
Sébastien Loriot
cfe32713d7
add default constructor for pmap
2016-04-21 15:26:50 +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
7e3a94d341
add is_polygon_soup_a_polygon_mesh
2016-04-19 11:50:16 +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
df3b9a84c0
fix polygon_soup_to_polygon_mesh test
2016-04-18 18:04:20 +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
537dab9191
Improve the testcase
2016-04-18 12:08:43 +02:00
Philipp Möller
3c59875bb4
Add a testcase for is_polygon_soup_a_polygon_mesh
2016-04-18 12:08:42 +02:00
Philipp Möller
01190b1027
Fix doc typo
2016-04-18 12:08:41 +02:00
Philipp Möller
a10822881d
Update changes.html
...
and remove the TODO
2016-04-18 12:08:39 +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
Jane Tournois
fd7b4cd6e1
improve remeshing_test
2016-03-31 12:25:01 +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
Laurent Rineau
89fe7c62b2
Merge pull request #762 from sloriot/BGL-unif_names
...
Unify names of parameters model of CGAL BGL concepts
2016-03-24 11:20:38 +01:00
Andreas Fabri
973f25f889
typo in doc
2016-03-22 19:23:38 +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
Sébastien Loriot
45406a5296
Merge pull request #788 from bo0ts/Installation-split_config-pmoeller
...
Split CGALConfig.cmake and CGALExports.cmake
2016-03-06 15:36:55 +01:00
Sebastien Loriot
ef3721a581
Merge pull request #881 from janetournois/PMP-isotropic_remeshing_reduce_aabbtree-jtournois
...
PMP isotropic remeshing : reduce the internal aabb_tree to the input face_range
2016-03-04 13:28:11 +01:00
Sebastien Loriot
717ec22664
Merge pull request #874 from janetournois/PMP-isotropic_remeshing_improvements-jtournois
...
PMP::isotropic_remeshing() - improve management of constraints
2016-03-03 17:00:34 +01:00
Sebastien Loriot
5870f1361a
Merge pull request #872 from afabri/PMP-namespace_PMP-GF
...
The namespace forwarding goes in the user code, not in a CGAL header
2016-03-03 17:00:08 +01:00
Jane Tournois
733e84abbf
the input triangles are only composed of the face_range to remesh
...
this reduces the size of the aabb_tree for projection
and fixes the fact that the face range only should be triangulated, not the
entire polygon mesh
2016-03-03 12:26:14 +01:00
Jane Tournois
ce42c3062f
halfedge and face descriptors should be hashable
2016-03-03 11:59:55 +01:00
Sébastien Loriot
d7e9261d58
hide the filtered projection traits behind the projection traits
...
the selection of the base class is done using Kernel::Has_filtered_predicates
2016-03-02 21:57:54 +01:00
Sébastien Loriot
a2935493e1
add missing using namespace
2016-03-02 20:12:16 +01:00
Sébastien Loriot
c3854cb656
fix warnings
2016-03-02 20:10:39 +01:00
Sébastien Loriot
fbe36bc8c0
add missing typename
2016-03-02 20:05:05 +01:00
Sebastien Loriot
d51b9cbb27
Merge pull request #840 from afabri/Polyhedon-isolated-vertices-GF
...
Deal with isolated vertices when turning a polygon soup in a polyedral surface
2016-03-02 17:19:22 +01:00
Jane Tournois
bf63963830
add constrained vertices to isotropic remeshing
...
those vertices cannot be modified
2016-03-02 17:08:38 +01:00
Andreas Fabri
dd8a68c4c5
The namespace forwarding goes in the user code, not in a CGAL header
2016-03-02 16:52:13 +01:00
Jane Tournois
586a92f736
update the type of edge_is_constrained_map
...
now the pmap of constraints gets updated by isotropic remeshing
2016-03-02 15:56:20 +01:00
Jane Tournois
ab6956e188
fix corners in isotropic remeshing
...
they do not get truncated anymore
2016-03-02 15:52:31 +01:00
Jane Tournois
dc0090e9b8
remove duplicate function split_long_edges
...
by exploiting the edge_is_constrained_map as read-write pmap
this is not documented, and only for demo purposes (at least for now)
2016-03-01 16:28:06 +01:00
Jane Tournois
63884d0033
update the constraints property map after the end of remeshing
2016-03-01 15:30:52 +01:00
Jane Tournois
32bcdb4186
transform EdgeIsConstrainedMap into a member variable
2016-03-01 14:03:28 +01:00
Andreas Fabri
8663b3ccbe
deal with isolated vertices when turning a polygon soup in a polyedral surface
2016-02-29 11:04:33 +01:00
Sébastien Loriot
392c292cc5
handle isolated vertices when computing normal
2016-02-29 10:07:44 +01:00
Andreas Fabri
eb90e8e3e1
Include consistently <CGAL/property_map.h>
2016-02-24 12:09:36 +01:00
Sebastien Loriot
c1b3b784a7
Merge pull request #777 from janetournois/Polyhedron_demo-polyhedron_item_for_quads-GF
...
Polyhedron item : improve computation of normals
2016-02-22 08:24:11 +01:00
Andreas Fabri
1918e01c9a
fix type requirement of the property map
2016-02-19 11:19:08 +01:00
Andreas Fabri
de159f13fc
Remve requirement for default constructible FaceNormalMap
2016-02-19 11:11:42 +01:00
Sébastien Loriot
0fc5846f07
change dummy property map to read-only to avoid a warning
...
I also it is safer to produce a compilation error if used as
a read/write pmap
2016-02-18 17:08:15 +01:00
Sébastien Loriot
ceccbb887b
fix copy-paste error
2016-02-17 11:51:31 +01:00
Philipp Möller
4211a4f01e
Globally remove CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS
...
This is a Cmake 2.4.3 variable that isn't even documented anymore.
2016-02-16 17:02:55 +01:00
Sébastien Loriot
d7b5f70181
refine bug-fix: also refine created faces
...
The refinement is an iterative process, newly created faces must
also be considered as refinable.
2016-02-15 14:57:57 +01:00
Sébastien Loriot
6c4f1274ef
refine and fairing functions requires a triangle mesh
2016-02-15 14:35:26 +01:00
Sébastien Loriot
77b69cc881
fixes for polygon_soup_to_polygon_mesh
...
- add a missing header
- remove unneed inheritance
- fix doc to mention internal point pmap requirement
- Point is not a requirement of the MutableFaceGraph concept
2016-02-15 13:38:52 +01:00
Jane Tournois
d3ce97f566
use face normals map as input of compute_vertex_normal
...
in the named parameters
2016-02-12 15:01:40 +01:00
Jane Tournois
e94d675c4f
for a triangle, compute normal only once
2016-02-11 19:15:46 +01:00
Jane Tournois
1afce415b6
fix the display of quad meshes with problems
...
by separating the quads from non-triangular faces
this also prevents from computing a CDT2 for each quad
2016-02-11 18:45:22 +01:00
Philipp Möller
0a04a3a48f
Use CGAL_DOC_VERSION
2016-02-11 15:37:54 +01:00
Sébastien Loriot
30f81e8d70
remove todo done
2016-02-10 18:47:34 +01:00
Sébastien Loriot
eb2ba8cefe
rename Surface_modeling package to Surface_mesh_deformation for consistency
2016-02-08 12:25:49 +01:00
Sebastien Loriot
ca6486f202
Merge pull request #742 from sloriot/PMP-fix_weight
...
Polygon mesh processing: fix bug in weight
2016-02-07 18:15:29 +01:00
Andreas Fabri
0e880cb475
Add text; Add an \ingroup; Capitalize
2016-02-05 18:31:28 +01:00
Sebastien Loriot
718eae7a00
Merge pull request #714 from sgiraudot/CGAL-Fix_boost_warning_unused_typedef-GF
...
Fix boost warning (unused typedef)
2016-02-05 14:59:28 +01:00
Sébastien Loriot
2243f20695
fix bug in weight
...
if the source of he is v0 then v1==v0
2016-02-05 12:17:08 +01:00
Sébastien Loriot
2219747dd3
Merge pull request #708 from janetournois/PMP-cleanup_tests-GF
...
PMP - cleanup tests
2016-02-03 09:47:19 +01:00
Sebastien Loriot
ebf66069c3
Merge pull request #706 from afabri/PMP_include_graph_traits-GF
...
Deal with deprecated code
2016-02-03 09:44:11 +01:00
Sébastien Loriot
7cf081e061
add missing graph_traits include
2016-02-02 17:35:30 +01:00
Simon Giraudot
751d959c05
Fix boost unused typedef warning: replace BOOST_STATIC_ASSERT by CGAL_static_assertion
2016-02-02 14:32:46 +01:00
Jane Tournois
ad7dfc230b
rename function
2016-02-02 10:19:10 +01:00
Jane Tournois
bb65a245cc
remove duplicate test
2016-02-02 10:16:44 +01:00
Andreas Fabri
b84596aff9
include graph_traits file for Polyhedron_3
2016-02-02 09:28:18 +01:00
Sébastien Loriot
aa94453c1e
fix submenu name
2016-02-01 16:14:58 +01:00
Andreas Fabri
4c9c668dc9
deal with deprecated code
2016-02-01 15:52:52 +01:00
Sebastien Loriot
f6147f5b08
Merge pull request #672 from janetournois/PMP-fix_remeshing_patch_borders-jtournois
...
PMP isotropic remeshing : fix collapse step with inside borders
2016-01-27 13:37:03 +01:00
Sébastien Loriot
0d60c1626e
add missing include directives
2016-01-26 18:42:08 +01:00
Jane Tournois
2f3de6e80c
remove remeshing of a patch from the test
...
because the patch has been modified by split_long_edges,
so the "patch" container is not consistent anymore
it would be nice to use detect_sharp_edges to collect a patch in this test
2016-01-26 10:00:11 +01:00
Jane Tournois
a7c54c024a
fix assertion and is_constrained function
2016-01-26 09:27:14 +01:00
Jane Tournois
5d8d1c65b8
if deviation is not getting better, do not make the flip
...
this tiny change seems to improve a lot the overall quality of the
remeshed polyhedron, by avoiding some pathological cases with
vertices of valence 3 (away from border)
2016-01-25 17:37:03 +01:00
Jane Tournois
856d41e8ca
last (default) case should return false i.e. not collapsible
2016-01-25 10:53:43 +01:00
Sébastien Loriot
4c4b191209
Merge pull request #604 from bo0ts/BGL-add_clear-pmoeller
...
Add BGL helper CGAL::clear
2016-01-23 09:18:56 +01:00
Jane Tournois
1be4ceba2a
collapse step in isotropic remeshing fix
...
dealing with patch border halfedges needs a different treatment than
"inside patch" halfedges
2016-01-22 13:02:40 +01:00