Mael Rouxel-Labbé
cf43155309
Small compilation fix for fd5fe64
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé
9eec3408d5
Added cotangent weights for Orbifold embeddings
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé
40655269a2
Documentation for BGL and SMP
...
- Fixed the boost::graph_traits tables
- Seam mesh documentation
- Some minor changes to surface_mesh_parameterization's and ARAP's docs
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
7ce8fdf3f6
Misc minor changes
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
8da6683ef0
Misc minor changes
...
Some doc, some typos, some indentation...
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
f087feda83
Missing include in PMP's border.h
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
2eac1f1c38
Added a function to count the number of borders of a polygon mesh
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
4b0243d263
Added documentation for PMP's longest_border()
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
1d068e714f
Fixed a bug in PMP's longest_border()
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé
c79c03eec7
Add missing include directive
2017-06-22 16:14:55 +02:00
Sébastien Loriot
8a7d5c9012
use unordered_set from boost rather than std (only available in c++11)
2017-06-22 16:12:26 +02:00
Andreas Fabri
7997925bf8
Add a function longest_border(PolygonMesh&) to PMP
2017-06-22 16:11:38 +02:00
Laurent Rineau
4116d749d2
Merge pull request #1861 from maxGimeno/BGL_copy_face_graph_patch-GF
...
BGL: Connected_component_graph and copy_face_graph_patch
2017-06-22 16:06:14 +02:00
Sébastien Loriot
1bba93acc7
explicit that the sign function is the one from CGAL to avoid ambiguity
2017-06-17 07:31:22 +02:00
Jane Tournois
55157013aa
fix compilation
...
`rng` has to be an l-value, and CGAL::Random() cannot be
so we create rng before passing it to the function
2017-06-15 13:10:47 +02:00
Sébastien Loriot
b667547cb4
fix doxygen warnings
2017-06-15 12:33:27 +02:00
Sébastien Loriot
a3cb116cd4
try improving wording
2017-06-15 12:33:27 +02:00
Jane Tournois
bd97150c85
document random_perturbation(tmesh)
2017-06-15 12:33:27 +02:00
Jane Tournois
c2f9f2e521
add doc for named parameters
2017-06-15 12:33:27 +02:00
Jane Tournois
b0e3dcf953
add a new version of the perturbation function,
...
to perturb only a range of vertices, and not iterate on all vertices
of pmesh
2017-06-15 12:33:27 +02:00
Jane Tournois
c4cb249284
fix typo
2017-06-15 12:33:27 +02:00
Jane Tournois
cb43ffbce6
fix the doc and commit (forgotten) named parameter do_project
2017-06-15 12:33:27 +02:00
Jane Tournois
60d47b1dac
make reprojection optional
2017-06-15 12:31:51 +02:00
Jane Tournois
faadf52a54
make the random generator seeding integer a named parameter
2017-06-15 12:31:51 +02:00
Jane Tournois
bb040bd24b
make the code valid for any CGAL Kernel
2017-06-15 12:31:51 +02:00
Laurent Rineau
9db168393b
Fix a compilation error
2017-06-15 12:31:51 +02:00
Jane Tournois
c9dce37dad
add documentation (and rename PolygonMesh to TriangleMesh)
2017-06-15 12:31:51 +02:00
Jane Tournois
cf14854161
re-project points onto the input surface after perturbation
2017-06-15 12:31:51 +02:00
Jane Tournois
5ae03ccd22
perturb in both directions!
2017-06-15 12:31:51 +02:00
Jane Tournois
63c68e7d39
add a simple perturbation algorithm to randomly perturb vertex locations
2017-06-15 12:31:51 +02:00
Laurent Rineau
2799abf71c
Merge pull request #1983 from maxGimeno/Polyhedron_demo-Use_sm_in_Deformation-GF
...
Polyhedron_demo: Plugins use SM: Second Step
2017-06-15 10:11:49 +02:00
Laurent Rineau
376c2dd002
Merge pull request #1852 from maxGimeno/Doxygen_compare-GF
...
Compare two documentation outputs
2017-06-13 10:18:28 +02:00
Maxime Gimeno
b629a9e9e3
Remove unused parameter name.
2017-06-13 09:29:13 +02:00
Andreas Fabri
e77f1d4d78
Fix the demo
2017-05-31 19:50:02 +02:00
Andreas Fabri
ac30f40f79
Move Mesh_3 specific properties to Mesh_3
2017-05-31 16:14:31 +02:00
Andreas Fabri
4d27ea1cc5
Move selection properties to the Polyhedron demo directory as it is demo specific
2017-05-31 16:05:24 +02:00
Sébastien Loriot
dd64914d59
move helper functions in the BGL package so that they can be used there too
2017-05-30 15:09:42 +02:00
Maxime Gimeno
95960c3b58
Fix after rebase
2017-05-29 13:24:08 +02:00
Andreas Fabri
0f28155729
I had to change Detect_features_in_polyhedra as the property map must be retrieved for the polyhedron passed to a function
2017-05-29 13:24:05 +02:00
Maxime Gimeno
451af8f3ef
bglize and add property maps. polyhedral domain with features works almost for Surface_mesh
...
Conflicts:
Mesh_3/include/CGAL/Mesh_polyhedron_3.h
Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
Surface_mesh/include/CGAL/boost/graph/PMP_properties_Surface_mesh.h
2017-05-29 13:22:37 +02:00
Maxime Gimeno
1330777a31
Make property maps for PMP and Surface_mesh generic
...
Conflicts:
Polyhedron/demo/Polyhedron/Plugins/PMP/Detect_sharp_edges_plugin.cpp
Polyhedron/demo/Polyhedron/Scene_surface_mesh_item.h
2017-05-29 13:22:37 +02:00
Maxime Gimeno
b122889723
Make the Detect_sharp_edges_plugin work with a SM_item
...
- finished the BGL-ization of Detect_features_in_polyhedra.h
- added a feature edges visualization to the SM_item.
Conflicts:
Polyhedron/demo/Polyhedron/Plugins/Mesh_3/CMakeLists.txt
Polyhedron/demo/Polyhedron/Plugins/PMP/CMakeLists.txt
Polyhedron/demo/Polyhedron/Plugins/PMP/Detect_sharp_edges_plugin.cpp
Polyhedron/demo/Polyhedron/Scene_surface_mesh_item.h
2017-05-29 13:22:36 +02:00
Maxime Gimeno
d88dad8bef
Clean-up and warning fix.
...
- Use constructor of sm descriptors instead of static_casts.
2017-05-29 13:20:41 +02:00
Maxime Gimeno
5e630f5c48
Move Detect_feature_edges to PMP
2017-05-29 13:20:40 +02:00
Maxime Gimeno
880b6e21a2
Fixes and Clean-up.
...
- Move the new properties in a file in PMP and remove them from the namespace boost.
- Move the surface mesh properties from properties_Surface_mesh.h to Scene_surface_mesh_item.h
2017-05-29 13:20:39 +02:00
Laurent Rineau
c174b9880d
Merge remote-tracking branch 'cgal/releases/CGAL-4.10-branch'
2017-05-26 17:56:13 +02:00
Sébastien Loriot
ad1997e21a
handle negative edge length + always do edge flips
2017-05-24 12:18:35 +02:00
Sébastien Loriot
3a8ef39465
filter degenerated triangles in the AABB-tree used for the reprojection
2017-05-24 10:18:44 +02:00
Sébastien Loriot
9b4e04c48a
move function to test if a triangle face is degenerated in BGL helpers
2017-05-24 10:18:44 +02:00
Sébastien Loriot
7fb806cb76
add missing boost namespace
2017-05-24 10:18:44 +02:00
Sébastien Loriot
b73cf88d18
add a way to only call the tangential relaxation+reprojection
2017-05-24 10:18:43 +02:00
Sébastien Loriot
24795331a3
cosmetic changes
2017-05-24 10:18:43 +02:00
Sébastien Loriot
fd4e66934f
select all interior edges
...
with the older implementation, the edges of a face was ignored
as soon as it was marked as visited while its edges must still
be visited
2017-05-24 10:18:43 +02:00
Laurent Rineau
31f277dc93
Merge pull request #2072 from janetournois/Mesh_3-improvements-GF
...
Mesh 3 : small improvements
2017-05-22 10:59:48 +02:00
Laurent Rineau
d9bc11f294
Merge pull request #2072 from janetournois/Mesh_3-improvements-GF
...
Mesh 3 : small improvements
2017-05-22 10:59:47 +02:00
Laurent Rineau
9aea1f228d
Merge pull request #2105 from sloriot/PMP-stitch_avoid_creating_non_manifold_edges
...
prevent the merge of two vertices that would create a non-manifold edge
2017-05-19 10:29:57 +02:00
Laurent Rineau
8f84930b9a
Merge pull request #2100 from janetournois/PMP-fix_isotropic_remeshing_patch_corners-jtournois
...
PMP : fix isotropic remeshing of a selection
2017-05-19 10:29:41 +02:00
Laurent Rineau
25df414e6e
Merge pull request #2085 from sloriot/PMP-Side_of_triangle_mesh_details
...
Add implementation details
2017-05-19 10:29:10 +02:00
Laurent Rineau
a07cd292d9
Merge pull request #2071 from janetournois/Polyhedron_demo-improve_surf_reader-GF
...
Polyhedron demo : improve .surf reader
2017-05-19 10:28:22 +02:00
Laurent Rineau
60c2413312
Merge pull request #2085 from sloriot/PMP-Side_of_triangle_mesh_details
...
Add implementation details
2017-05-19 10:28:13 +02:00
Laurent Rineau
de757b671e
Merge pull request #2105 from sloriot/PMP-stitch_avoid_creating_non_manifold_edges
...
prevent the merge of two vertices that would create a non-manifold edge
2017-05-19 10:27:40 +02:00
Laurent Rineau
fa3c3c2bf2
Merge pull request #2071 from janetournois/Polyhedron_demo-improve_surf_reader-GF
...
Polyhedron demo : improve .surf reader
2017-05-19 10:27:18 +02:00
Laurent Rineau
dfd77d4aff
Merge pull request #2100 from janetournois/PMP-fix_isotropic_remeshing_patch_corners-jtournois
...
PMP : fix isotropic remeshing of a selection
2017-05-19 10:27:09 +02:00
Laurent Rineau
3b1ebdb574
Merge pull request #2057 from janetournois/PMP-fix_is_outward_oriented-GF
...
PMP : fix `PMP::is_outward_oriented()`
(From a merge of 'cgal/releases/CGAL-4.10-branch', plus a merge of the
commit 'a6e2783'. That commit fixes the incompatibility with recent
changes in `master`.)
2017-05-17 13:02:38 +02:00
Sébastien Loriot
a6e2783d36
use internal namespace introduced in e9395ab for accessing named parameters
2017-05-17 13:01:29 +02:00
Sébastien Loriot
d4fa3c860c
fix test incorrectly simplified test
2017-05-12 09:49:44 +02:00
Sébastien Loriot
51dce78e78
fix the last step of the algorithm to pick the top face along the z-axis
2017-05-12 09:49:43 +02:00
Sébastien Loriot
976ba8b75a
fix the outward orientation test
2017-05-12 09:49:43 +02:00
Sébastien Loriot
8af0216b54
update internal use of is_outward_oriented() by does_bound_a_volume()
2017-05-12 09:49:43 +02:00
Sébastien Loriot
1a29f74325
Revert "remove the use of internal::is_outward_oriented"
...
This reverts commit 37c5b0bd4e6d550c86bf7f173eaa4bfc1fa5bf6f.
2017-05-12 09:49:43 +02:00
Sébastien Loriot
1e22c09969
fix warning
2017-05-12 09:49:43 +02:00
Jane Tournois
686b418fe0
remove the use of internal::is_outward_oriented
2017-05-12 09:49:42 +02:00
Jane Tournois
766ff220b6
and missing include
...
and fix the use of namespaces
2017-05-12 09:49:42 +02:00
Jane Tournois
49818d56ce
add a runtime warning and return true for empty mesh
2017-05-12 09:49:42 +02:00
Jane Tournois
57b01e0b8f
make if work also if GT::Compare_z_3 does not have a default constructor
...
(may happen with a geom traits with state)
2017-05-12 09:49:42 +02:00
Jane Tournois
6c2ee8a35e
fix the implementation of is_outward_oriented(polygon mesh)
...
this implementation does not require the construction of the normal,
and is based only on Kernel predicates
2017-05-12 09:49:42 +02:00
Sébastien Loriot
44a7b9f590
fix the stitchable test
...
the common vertex incident to the two non-stitchable vertices
is not in general in the faces incident to the edges to be
stitched
2017-05-11 17:35:26 +02:00
Laurent Rineau
7aad2a560c
Merge pull request #1891 from maxGimeno/PMP_named_params_macro-GF
...
Use macros to add parameters in PMP
2017-05-11 17:09:38 +02:00
Sébastien Loriot
7a841cad48
prevent the merge of two vertices that would create a non-manifold edge
2017-05-10 18:55:03 +02:00
Jane Tournois
ce51fef0d5
replace std::set with boost::container::flat_set
...
for efficiency reasons
2017-05-09 12:23:17 +02:00
Jane Tournois
70c9b5e0a5
constrain corners
...
vertices that are at the "corner" of the face range to be remeshed,
i.e. on the border of the face range, and also on the border of the mesh,
incident to both the selected and unselected faces, should be constrained,
to avoid making a "axe blow" in the border
2017-05-05 17:37:49 +02:00
Sébastien Loriot
20e7f245c7
add implementation details
2017-04-27 17:24:47 +02:00
Sébastien Loriot
d0a2c817da
remove a todo that is now an issue
2017-04-27 16:28:00 +02:00
Andreas Fabri
bf3542116a
Polygon_mesh_processing: Fix documentation
...
splitted -> split
2017-04-26 14:42:59 +02:00
Jane Tournois
2b16193db4
deal with non-manifold surfaces
...
because a CGAL::Polyhedron cannot be non-manifold along an edge, we need
to build the polyhedral surface using PMP::orient_polygon_soup, and
PMP::polygon_soup_to_polygon_mesh.
These functions introduce duplicated points, that are dealt with in this commit
when reading a .surf file, isolated vertices are ignored
2017-04-21 14:40:08 +02:00
Jane Tournois
a4a05c406b
replace a std::set by a boost::flat_set to speedup
2017-04-20 17:00:23 +02:00
Andreas Fabri
58bcecc497
License check for Corefinement and Distance
2017-03-22 14:07:52 +01:00
Andreas Fabri
cd7deb8577
License check for Corefinement and Distance
2017-03-22 12:32:43 +01:00
Andreas Fabri
774bdc4351
License check for Geometric Meshing and Hole Filling
2017-03-22 12:10:37 +01:00
Andreas Fabri
fde105b437
License check for Predicates
2017-03-22 10:29:59 +01:00
Andreas Fabri
51bbe5d1f6
License check for Geometric Measures and Miscellaneous
2017-03-22 10:05:39 +01:00
Andreas Fabri
d04b048aa9
License check for Connected Components
2017-03-22 09:21:27 +01:00
Andreas Fabri
9bcf8b040e
move corefinement specific code from PMP to Operations_on_polyhedra
2017-03-22 09:12:30 +01:00
Andreas Fabri
44c1328f55
License check for Normal Computation Functions
2017-03-22 08:54:00 +01:00
Sébastien Loriot
0b29878f6d
better handling of tangency
...
correctly handle dangling intersection polylines
that appear when models are tangent along an edge
2017-03-16 18:44:13 +01:00
Sébastien Loriot
a79f461548
be more permissive for open meshes
2017-03-15 17:13:40 +01:00
Laurent Rineau
5947475c5c
Merge pull request #1906 from sloriot/PMP-stitching_non_manifold_edges-GF
...
Make the function stitch_borders() resilient to non-manifold edges
2017-02-14 16:11:01 +01:00
Sébastien Loriot
c873532da5
avoid stitching non-manifold edges
...
we do not stitch them at all since we might produce inconsistancies
2017-02-14 13:45:08 +01:00
Andreas Fabri
81c5ff9b0d
We do not collect halfedges on non-manifold edges
...
TODO:
- Add a precondition
- Find something better than a CGAL_warning
2017-02-14 13:44:46 +01:00
Sébastien Loriot
e9395aba6f
move enum for named parameters inside internal_np namespace
2017-02-13 10:25:28 +01:00