Sébastien Loriot
79ad1b2dc6
Merge pull request #1141 from janetournois/PMP-isotropic_remeshing_smoothing_options-jtournois
...
PMP isotropic_remeshing : smoothing options
2016-06-22 11:46:05 +02:00
Jane Tournois
85744d3c63
the validity of the vertex_is_constrained_map should be fixed
...
the problem was that we can't control which of va and vb will be vkept
when collape_edge is called
now it's clear wrt the constrained map
2016-06-21 11:19:41 +02:00
Jane Tournois
be65dac810
don't use double but FT
2016-06-14 14:22:18 +02:00
Jane Tournois
6f46122f52
attempt to fix ambiguity warning
2016-06-14 14:17:42 +02:00
Jane Tournois
1e2e1f1dd2
rename dummy_named_params to named_params_base
2016-06-14 14:17:41 +02:00
Jane Tournois
5b41ca088b
avoid stack overflow in Epeck due to +=
2016-06-14 14:17:40 +02:00
Jane Tournois
3e620a07be
WIP replace double by FT
...
the measures_test does not compile with this commit
2016-06-14 14:17:34 +02:00
Sébastien Loriot
6d42b1873b
remove useless typedef instructions
2016-06-14 14:17:29 +02:00
Sébastien Loriot
5af65c983d
remove useless default template argument
2016-06-14 14:17:28 +02:00
Sébastien Loriot
c85c4e01ad
remove useless comment and fix indentation
2016-06-14 14:17:27 +02:00
Andreas Fabri
702149cd93
Also test EPEC in the testsuite
2016-06-14 14:17:26 +02:00
Andreas Fabri
73fb767025
Change the @warning to what Laurent suggested
2016-06-14 14:17:24 +02:00
Jane Tournois
7b5ca9ed7f
triangle_normal should return the normal with norm = area(triangle)
2016-06-14 14:17:20 +02:00
Jane Tournois
d8f3da483b
use kernel functors
2016-06-14 14:17:19 +02:00
Jane Tournois
630a8f4014
use kernel functors
2016-06-14 14:17:17 +02:00
Jane Tournois
6b284a8e0a
update code from master after rebase, and use CGAL functors
2016-06-14 14:17:16 +02:00
Jane Tournois
0af657207b
fix compilation and the use of Construct_sum_of_vectors_3
2016-06-14 14:17:15 +02:00
Jane Tournois
f940302044
document that fairing is not exact
2016-06-14 14:17:12 +02:00
Jane Tournois
109b9fdfe7
use CGAL::approximate_sqrt(x) to replace CGAL::sqrt(to_double(x))
2016-06-14 14:17:11 +02:00
Jane Tournois
4556530682
make a better use of geom_traits in compute_face_normal
2016-06-14 14:17:07 +02:00
Jane Tournois
211426e3fe
fix compilation (extra */ added in comments)
2016-06-14 14:17:06 +02:00
Andreas Fabri
ae1f695208
Document where sqrt is done approximately
2016-06-14 14:17:04 +02:00
Andreas Fabri
2c54acb056
Use to_double to make it work with Epec
2016-06-14 14:17:03 +02:00
Sebastien Loriot
aeab78c74b
Merge pull request #1143 from janetournois/PMP-isotropic_remeshing_speedup-jtournois
...
PMP isotropic_remeshing speedup. Don't use the MESH Halfedge_status
2016-06-09 16:21:09 +02:00
Sebastien Loriot
1ebaebc6aa
Merge pull request #1101 from maxGimeno/Enhance_triangulate_facets-GF
...
Robustify triangulate facets
2016-06-08 09:50:48 +02:00
Jane Tournois
4e964ab64d
don't use the MESH status
...
We now consider that MESH halfedges are the ones that are not in the patch,
i.e. not in the status map
halfedges with the MESH status are not used, apart from close to
PATCH_BOUNDARY edges.
this speeds up the isotropic remeshing algorithm, in particular when only
a small patch is remeshed
2016-06-07 16:18:42 +02:00
Jane Tournois
0811c2fb2c
document named parameters for smoothing
2016-06-07 14:06:09 +02:00
Jane Tournois
ccbdeb1419
doc : reorder named parameters
2016-06-07 12:42:16 +02:00
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
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
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
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