Jane Tournois
064a3510b2
remove useless using boost::choose_pmap and boost::choose_const_pmap
2016-09-22 12:10:06 +02:00
Jane Tournois
ef85908fe1
use get_property_map and get_const_property_map everywhere in PMP
2016-09-22 12:10:06 +02:00
Jane Tournois
76e6333a18
fix the use of const_type
2016-09-22 12:10:06 +02:00
Jane Tournois
fc58055ec3
use get_const_property_map
2016-09-22 12:10:06 +02:00
Jane Tournois
1aac56ca61
add const_type, and get_const_pmap
2016-09-22 12:10:06 +02:00
Jane Tournois
c234af207e
fix unused parameter warning
2016-09-22 12:10:06 +02:00
Jane Tournois
756eac95d3
fix compilation error
2016-09-22 12:10:06 +02:00
Jane Tournois
6d9e974bab
add documentation
2016-09-22 12:10:06 +02:00
Jane Tournois
047be1346c
add the use of face_index_map wherever it's needed
...
remeshing_test now crashes, don't know why yet
2016-09-22 12:05:51 +02:00
Jane Tournois
d50cbf4930
use get_property_map for face_index_map
...
in isotropic_remeshing and border_halfedges
2016-09-22 12:05:51 +02:00
Jane Tournois
7e1fab420a
add get_property_map to get either the internal pmap or cgal_no_property
2016-09-22 12:05:51 +02:00
Jane Tournois
d03077abda
iterator type of FaceRange should be multi-pass, so ForwardIterator
2016-09-20 15:03:13 +02:00
Sébastien Loriot
6aec9dbc8c
fix typo
2016-09-20 09:17:10 +02:00
Laurent Rineau
e2d04e54e0
Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch'
...
> 3176b37 Merge pull request #1452 from mglisse/Number_types-Eigen_Literal-glisse
> 1705702 Merge pull request #1417 from afabri/Polyline_simplification-Bugfix_choose_correct_Itag-GF
> 3bef239 Merge pull request #1462 from sloriot/PMP-add_missing_include
2016-09-15 17:25:20 +02:00
Laurent Rineau
c130d2b2f2
Merge pull request #1373 from janetournois/PMP-fix_test_epec-GF
...
PMP isotropic remeshing does not support exact constructions
2016-09-15 17:19:56 +02:00
Sebastien Loriot
343fb726fa
Add missing include directive
2016-09-15 15:52:47 +02:00
Jane Tournois
785f51a961
add note on how to reproduce the bug
...
to be used when `remove_degenerate_faces` will be fixed
2016-09-15 14:51:45 +02:00
Jane Tournois
361b81e845
remove_degenerate_faces is not documented, we should not test it
2016-09-15 14:43:31 +02:00
Jane Tournois
bffb1f63f7
document that exact constructions are not supported
...
and write a proposal about how to support exact constructions
2016-09-13 11:05:55 +02:00
Jane Tournois
25d3d2b8f6
do not test isotropic_remeshing with Epec
2016-09-13 10:29:02 +02:00
Jane Tournois
e0bce515cf
add a macro to be less verbose
2016-09-12 17:16:30 +02:00
Jane Tournois
d4ab14197a
fix typo
2016-09-12 17:16:30 +02:00
Sébastien Loriot
b7db87ab40
add a plugin to remove self-intersection in a mesh
2016-09-08 15:01:44 +02:00
Jane Tournois
4f2adeaff0
remove useless includes
2016-09-08 14:07:15 +02:00
Sébastien Loriot
7e2ee496de
update project name of cmake scripts of tests
2016-09-08 00:26:37 +02:00
Sébastien Loriot
6b338eeb1f
improve the name of projects in cmake scripts of examples
2016-09-08 00:02:55 +02:00
Sébastien Loriot
5300028a57
first version of boolean operations with FaceGraph models using corefinement
2016-09-02 15:59:38 +02:00
Jane Tournois
0baa89452d
add info about self-intersections
2016-08-10 09:45:40 +02:00
Sébastien Loriot
b47199f009
make all corefinement examples compiling
2016-07-06 11:45:23 +02:00
Sébastien Loriot
9edbdad3b9
add prototype for PMP::boolean_operation
...
add overloads for PMP::join, PMP::intersection and PMP::difference
and complete the implementaiton with a call to PMP::boolean_operation
2016-07-06 11:43:16 +02:00
Sébastien Loriot
918fcf850b
fix indentation issue
2016-07-05 15:01:40 +02:00
Sébastien Loriot
dbf0f2de3d
plug is-constrained edge maps
2016-07-05 14:54:32 +02:00
Sébastien Loriot
208526cc4e
update comments
2016-07-05 13:46:04 +02:00
Sébastien Loriot
f531269fab
remove todo and document throw_on_self_intersection
2016-07-05 13:28:56 +02:00
Sébastien Loriot
dbbb723a82
document surface_intersection and plug named-parameter mechanism
2016-07-05 12:00:04 +02:00
Sébastien Loriot
c3cd3b26f8
remove an unneeded parameter
2016-07-05 11:57:51 +02:00
Sébastien Loriot
604645dfd7
remove doc todos done
2016-07-05 10:12:59 +02:00
Sébastien Loriot
8781dd6942
Add an output builder parameter to the corefinement visitor
2016-07-04 16:29:02 +02:00
Sébastien Loriot
7a0ff9d28e
First implementation of the corefinement of 2 triangle meshes
...
implementation uses a visitor for the function computing the intersection
of 2 triangle meshes.
2016-07-04 16:28:52 +02:00
Sébastien Loriot
c477ce88ff
improve doc
2016-06-24 16:58:57 +02:00
Sébastien Loriot
58044ab929
document PMP::parameters::all_default()
2016-06-24 16:58:51 +02:00
Sébastien Loriot
0dcde837ee
do not use */ in a comment section of \code env
2016-06-24 16:58:42 +02:00
Sébastien Loriot
84311eab64
update doc after the review of @janetournois
2016-06-24 16:58:34 +02:00
Sébastien Loriot
8931409a28
dump polylines into a file
2016-06-24 16:58:26 +02:00
Sébastien Loriot
e78118bdfd
add a test running surface_intersection with both surface_mesh and polyhedron
2016-06-24 16:58:21 +02:00
Sébastien Loriot
27badf0b43
Add a version of the code to compute intersection of TriangleMesh
...
The code is a copy the one in Operation_on_polyhedra that was
only working with Polyhedron_3.
For the moment only default parameters are used. NamedParameters
will be introduced later.
2016-06-24 16:58:12 +02:00
Sébastien Loriot
2d4153fc3d
update Polyhedra_corefinement-enhancements-sloriot from master
2016-06-24 14:54:33 +02:00
Sebastien Loriot
e819e65f96
Merge pull request #1187 from maxGimeno/Fix_deformation-GF
...
Polyhedron_demo: Enhance deformation
2016-06-22 13:18:31 +02:00
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
375b323638
rename all "test" functions to "test_something" to avoid ambiguity with boost
2016-06-14 14:17:45 +02:00
Jane Tournois
d03be65935
rename test function
...
it makes a conflict with ‘template<class U, U x> struct boost::detail::test’
2016-06-14 14:17:44 +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
5446dcbf6b
measures don't support Epeck yet. Comment the tests
2016-06-14 14:17:38 +02:00
Jane Tournois
f1475f58dd
add return value
2016-06-14 14:17:37 +02:00
Jane Tournois
1df4e1462c
don't use "test" function name
...
it seems to cause problems to the CentOS platform
2016-06-14 14:17:36 +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
b6d162684b
fix return value checking
2016-06-14 14:17:33 +02:00
Sébastien Loriot
27d983255d
remove unused typedef instruction
2016-06-14 14:17:32 +02:00
Sébastien Loriot
8b10e64260
add missing typename and template keywords
2016-06-14 14:17:31 +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
Sébastien Loriot
99ffa8655d
add an overload to does_self_intersect taking a face range as input
2016-06-07 14:30:39 +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
Jane Tournois
e4336fcc09
ref manual
2016-05-24 16:33:47 +02:00
Jane Tournois
4b2606fa35
doc user manual
2016-05-24 16:24:00 +02:00
Jane Tournois
b6fb053534
user manual : definitions
2016-05-24 15:33:56 +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
Sébastien Loriot
2860e1fc51
add examples for corefinement
2016-05-20 17:51:06 +02:00
Sébastien Loriot
1ffe2fd013
add figures in the doc for corefinement
2016-05-20 14:39:11 +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
Sébastien Loriot
36d0257dff
first version of the corefinement doc
2016-05-19 15:08:31 +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
e65ca4aa86
add a function to reverse the orientation of the faces of a mesh with polylines
2016-05-03 18:25:23 +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
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
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
Sébastien Loriot
acba778a9e
Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD
2016-01-21 11:06:59 +01:00
Sebastien Loriot
efde6e3dc5
Merge pull request #606 from janetournois/PMP-improve_isotropic_remeshing-jtournois
...
PMP - Improve isotropic remeshing
2016-01-21 09:21:00 +01:00
Sébastien Loriot
3850fbb30c
fix license
2016-01-21 09:19:58 +01:00
Sébastien Loriot
cf08261299
Merge pull request #652 from sloriot/BGL-document_selection_functions
...
BGL: document selection functions
2016-01-20 17:13:21 +01:00
Sébastien Loriot
acb541de2e
remove todo
2016-01-19 11:32:43 +01:00
Sébastien Loriot
1792146afd
document split_graph_into_polylines
2016-01-19 09:30:00 +01:00
Jane Tournois
b3f470723b
fix the test - it was working by accident!
...
faces of 'patch' are modified by the call to split_long_edges
so let's separate border protection and remeshing of a patch
into 2 separate calls
2016-01-18 15:06:10 +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
Philipp Möller
c510ece187
Whitespace fixup
2016-01-08 12:58:36 +01:00
Sébastien Loriot
e64ae35a6e
Merge pull request #542 from bo0ts/Documentation-release_build2-pmoeller
...
Allow to build the documentation in a release
2016-01-07 09:21:46 +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
e4f6cb9f4e
there is no predicate class
2015-12-30 09:18:16 +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
71b4e9c515
Use CGAL_FULL_VERSION in all Doxyfile.in
2015-12-17 16:33:28 +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
e54cfb6492
Add test-case for overloads of triangulate_faces
2015-12-11 16:03:50 +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
aec9029352
Add a check to the triangulate_faces example
...
This turns it from an example to an actual test.
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