Commit Graph

1429 Commits

Author SHA1 Message Date
Maxime Gimeno 95dfae314b Rename file 2017-08-02 16:26:53 +02:00
Maxime Gimeno 2f45a46f7c Fix and enhance detect_feature 2017-08-02 16:08:33 +02:00
Maxime Gimeno d4e7b9f622 Fix fwd and plugin 2017-08-02 14:49:18 +02:00
Laurent Rineau f8760d591b Merge pull request #2136 from afabri/Polygon_mesh_processing-accelerate_isotropic_remeshing-GF
Polygon_mesh_processing: Accelerate Isotropic_remeshing
2017-07-21 10:45:32 +02:00
Andreas Fabri cb70bee37c Polygon_mesh_processing: fix doc
`PolygonMesh` -> `TriangleMesh`
2017-07-20 15:00:49 +02:00
Laurent Rineau 1d4d0dcec0 Merge pull request #2153 from janetournois/PMP-add_random_perturbation-jtournois
PMP - add random perturbation for triangle meshes
2017-07-17 12:43:58 +02:00
Laurent Rineau c53c3f9abd Shorten the lines with a typedef 2017-07-12 15:26:09 +02:00
Andreas Fabri 70b13af39c Do not pollute the boost namespace 2017-07-12 12:11:34 +02:00
Andreas Fabri 886bd840cf Make the dynamic property map an implementation detail 2017-07-11 20:32:23 +02:00
Andreas Fabri 5ba2161d21 Make isotropic remeshing compile with OpenMesh 2017-07-11 20:32:22 +02:00
Andreas Fabri c35a018135 Move add and remove of property maps in namespace internal (realizing that it is wrong to claim that it works for any FaceGraph 2017-07-11 20:31:34 +02:00
Laurent Rineau a4a30648f7 Fix warnings 2017-07-11 20:31:34 +02:00
Jane Tournois 860cf84b9f fix the own_tree logic, that is not valid anymore
the question is to know whether the vector<AABB_tree*> is built
or not
2017-07-11 20:31:34 +02:00
Jane Tournois 63c3881bc4 comments cleaning 2017-07-11 20:31:34 +02:00
Jane Tournois 0185563131 remove default constructor for Connected_components_pmap
keep only one constructor, and compute the connected components
only conditionally when they are needed
2017-07-11 20:31:34 +02:00
Jane Tournois 7f9abe0eb2 remove outdated comment 2017-07-11 20:31:33 +02:00
Jane Tournois 108a8ecbbe fix the use of Connected_components_pmap
when one is given by the user, we don't want to remove it
when we compute one on-the-fly, we do

also fix the debug code accordingly
2017-07-11 20:31:33 +02:00
Jane Tournois 44c6114b2c use the new dynamic property map system for the halfedge_status_pmap 2017-07-11 20:31:33 +02:00
Jane Tournois 2e1b752aae use the new dynamic property map system for the face_patch_map 2017-07-11 20:31:33 +02:00
Andreas Fabri 2bfd037c2d Add keyword template 2017-07-11 20:31:31 +02:00
Jane Tournois 2213628c49 first attempt to remove SM_HALFEDGE_STATUS_PMAP
there is some cleaning left to do,
including the dealing with remove_property_map
2017-07-11 20:31:31 +02:00
Jane Tournois 07cb8df9d0 cleaning 2017-07-11 20:31:31 +02:00
Andreas Fabri 1b41423bf1 fix variable name 2017-07-11 20:31:31 +02:00
Andreas Fabri 3aff30811f remove redefining typedef 2017-07-11 20:31:31 +02:00
Andreas Fabri 0e8397ed8e Add typename 2017-07-11 20:31:30 +02:00
Andreas Fabri 704b8c8c2d If there is only 1 connected component there is no corner 2017-07-11 20:31:30 +02:00
Andreas Fabri 7a5f38c77b bug fix for 3220c14 2017-07-11 20:31:30 +02:00
Andreas Fabri 72de5a4de3 Reserve to avoid reallocation 2017-07-11 20:31:30 +02:00
Andreas Fabri db1a11b5c9 Reserve to avoid reallocation 2017-07-11 20:31:29 +02:00
Andreas Fabri ecaad9a83f If there is only 1 connected component a vertex IS on the patch 2017-07-11 20:31:29 +02:00
Andreas Fabri 4e76d5619c If there is only 1 connected component, we don't need a map to look up the same value 2017-07-11 20:31:29 +02:00
Andreas Fabri 2ce105f516 BUG FIX: In a previous commit a line got lost 2017-07-11 20:31:29 +02:00
Andreas Fabri 8cc58040fc fix typo. Note also that in a previous fix I accidentally added code for the Surface_mesh::Property_map 2017-07-11 20:31:29 +02:00
Andreas Fabri 9a7ddead28 no need to find() 2017-07-11 20:31:29 +02:00
Andreas Fabri 86964336ad make a cheap test first 2017-07-11 20:31:29 +02:00
Andreas Fabri 5acfe4520e No need to circulate around vertices if we have a mesh without border and without constraints 2017-07-11 20:31:29 +02:00
Andreas Fabri 8af5dfb077 Hopefully less is_collapse_allowed() tests 2017-07-11 20:31:29 +02:00
Andreas Fabri 845e319851 join ranges instead of copying them into a single std::vector 2017-07-11 20:31:28 +02:00
Andreas Fabri a8152a5bda Don't construct a triangle 2017-07-11 20:31:28 +02:00
Andreas Fabri c361eab5b5 Do less degree calculations 2017-07-11 20:31:28 +02:00
Andreas Fabri 6b8cdf8dd3 cleanup 2017-07-11 20:31:28 +02:00
Andreas Fabri 1f8204a648 cleanup 2017-07-11 20:31:28 +02:00
Andreas Fabri ec229834dd Switch to a hard-wired propery map 2017-07-11 20:31:28 +02:00
Andreas Fabri fac05f2498 code transformation to prepare switch to a propery map 2017-07-11 20:31:28 +02:00
Andreas Fabri 724a086822 typo 2017-07-11 20:31:28 +02:00
Andreas Fabri 118020e03a Remove #include of AABB_filtered_projection_traits.h 2017-07-11 20:31:28 +02:00
Andreas Fabri 6385bdcfbf Use an AABB_tree per patch 2017-07-11 20:31:28 +02:00
Laurent Rineau d187d5e229 fix warnings 2017-07-10 18:10:30 +02:00
Sebastien Loriot 196fb95308 Merge branch 'master' into PMP-add_random_perturbation-jtournois 2017-07-10 17:48:54 +02:00
Andreas Fabri 1ec6d7b058 Make repair_plugin work for Surface_mesh 2017-07-10 16:03:04 +02:00
Laurent Rineau ef116f9fcb Merge pull request #2188 from sloriot/CGAL-prefix_sign
Quality calls to sign
2017-07-10 15:33:55 +02:00
Mael Rouxel-Labbé ad553fe77d Removed number_of_borders from doxygen-readable space 2017-06-22 16:17:13 +02:00
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
Laurent Rineau 58ba771e5d Merge pull request #1898 from sloriot/PMP-fix_coref
fix make_terminal()
2017-02-10 19:03:42 +01:00
Sébastien Loriot 47e8f6167f add doc in the interface file and files using it 2017-02-10 17:23:45 +01:00
Sébastien Loriot 2fee4affdd rename macro to be independant of any package 2017-02-10 17:00:38 +01:00
Sébastien Loriot 69fbe19f06 fix make_terminal()
if the node is already terminal, no need to break its degree
This was an issue if the degree is actually 0
2017-02-10 14:00:07 +01:00
Maxime Gimeno 3d8aaf0a6e Add license headers 2017-02-09 15:46:01 +01:00
Maxime Gimeno 0f9c102516 Move the enums in a namespace parameters to clean-up the namespace CGAL. 2017-02-09 15:29:18 +01:00
Maxime Gimeno 21f305db27 Use an include system to factorize the macro calls in PMP and BGL. 2017-02-09 14:14:11 +01:00
Laurent Rineau 1a2f617d89 Merge pull request #1843 from afabri/BGL_accelerate_copy_face_graph-GF
Accelerate copy_face_graph
2017-02-08 17:32:47 +01:00
Maxime Gimeno 07b5550f2f Use macros to add parameters in named_fucntion_params.h 2017-02-08 16:37:14 +01:00
Laurent Rineau 4c3ea8908e Merge pull request #1875 from sloriot/PMP-rename_bbox_3
Rename bbox_3 functions
2017-02-06 15:19:18 +01:00
Laurent Rineau 7946d3e31d Merge pull request #1871 from sloriot/PMP-coref_same_points
Identical points after corefinement
2017-02-02 17:18:21 +01:00
Sébastien Loriot cc899819f2 bbox is ambiguous 2017-02-02 14:42:53 +01:00
Sébastien Loriot 2ed0a35153 fix doc warnings 2017-01-31 14:40:10 +01:00
Sébastien Loriot a675fa60e4 rename bbox_3 functions
free functions in CGAL have no dimension suffix
2017-01-31 14:33:56 +01:00
Sebastien Loriot a0bcc82311 Merge pull request #1860 from sloriot/PMP-fix_namespace_pollution
Avoid namespace pollution
2017-01-30 15:55:22 +01:00
Sébastien Loriot 0f540a8116 make sure the same points in different triangle meshes have the same coordinates 2017-01-30 15:35:10 +01:00
Andreas Fabri 12b3a78cc6 fix typos in code 2017-01-27 09:41:00 +01:00
Andreas Fabri 006bfdfec0 Add #ifdef CGAL_PMP_REFINE_DEBUG for total_timer 2017-01-27 09:21:03 +01:00
Sébastien Loriot a3666887a1 remove dependancy to PSP 2017-01-26 18:27:49 +01:00
Sébastien Loriot cfc30502b7 move Distance_computation and implementation in internal namespace 2017-01-26 14:18:13 +01:00
Sebastien Loriot b761bad0a9 Merge pull request #1856 from afabri/PMP-fix_doc_CC-GF
PMP: Fix error in the ref manual of connected components functions
2017-01-25 17:55:37 +01:00
Andreas Fabri 07f62beb4b fix typos 2017-01-25 17:52:44 +01:00
Andreas Fabri dc34a06c8b PMP: Fix error in the ref manual of connected components functions 2017-01-25 16:12:38 +01:00
Maxime Gimeno 60d0a39d42 fixes 2017-01-24 14:46:36 +01:00
Maxime Gimeno 82860688d1 Fix the doc to avoid diffs between 1.8.4 and 1.8.13 outputs 2017-01-24 09:39:23 +01:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Sébastien Loriot 3fa4abe869 move function to init index maps to BGL 2017-01-18 16:37:34 +01:00
Sébastien Loriot b3340608cc move property map binders to property_map.h 2017-01-18 16:37:24 +01:00
Andreas Fabri 528c6a19a8 Add an #include 2017-01-16 19:16:19 +01:00
Sébastien Loriot ce16295297 add a function to init halfedge indices 2017-01-16 18:34:55 +01:00
Sébastien Loriot 516b732adf using tbb::atomic instead of cpp11::atomic 2017-01-16 15:18:46 +01:00
Sébastien Loriot b79cc00461 add missing public 2017-01-16 09:27:24 +01:00
Sébastien Loriot 0446958c5a parallel version of mesh distance function requires cpp11::atomic 2017-01-13 13:19:29 +01:00
Sébastien Loriot 449205c486 avoid pmp_bgl_named_params to inherit from named_params_base
this fix a warning with old version of boost < 1.51
Use another workaround to avoid the compilation error
of the area(face_range,tm) overload
2017-01-13 13:18:55 +01:00
Sébastien Loriot e3f9ffa6f8 workaround for named parameters with old boost version (<1.51)
handle the renaming of a struct and move get_param overloads
in the boost namespace (to match qualified call boost::get_param)
2017-01-13 12:05:51 +01:00
Sébastien Loriot 9ae7b37845 Merge pull request #1745 from sloriot/Polyhedra_corefinement-enhancements-sloriot
Add corefinement operations in PMP
2017-01-12 12:05:18 +01:00
Sébastien Loriot 6ac45f820a use PMP for corefinement and intersection plugins 2017-01-11 15:16:03 +01:00
Sébastien Loriot 59001acd92 update the implementation of clip plugin to use new corefinement PMP code 2017-01-10 15:38:24 +01:00
Sébastien Loriot 6743afaee3 add a function to initialize vertex index maps 2017-01-10 15:04:54 +01:00
Sébastien Loriot 2cac99b2d6 protect call to max function 2017-01-09 12:00:06 +01:00
Sébastien Loriot cafe151c03 fix an error and two warnings 2017-01-09 08:28:13 +01:00
Sébastien Loriot 706e8c81ce fix copy-paste error 2017-01-05 15:56:18 +01:00
Sébastien Loriot 33979fc8cd remove wrong comments 2017-01-05 15:14:12 +01:00
Sébastien Loriot b48a6e8965 handle dangling polylines
An intersection polyline that has a node of degree one that is not
on the boundary of both meshes invalidates all operations.
It might be possible to do the union in some case but it does not
seems relevant for now
2017-01-03 10:01:23 +01:00
Sébastien Loriot e0010627ee use a simpler to read form for the sorted_around_edge predicate
in addition it become a real predicate (no construction)
2017-01-02 19:25:48 +01:00
Sébastien Loriot 9f2d102b7f no longer used intermediate interval layer
this was actually not needed since EPECK already have this
filter layer
2017-01-02 19:25:44 +01:00
Sébastien Loriot 7ed402b3f7 optimize the number of nodes created in the DAG
- Use new kernel functors for intersection points
- Construct points from double to have only one node per point
  (doubles are stored in Lazy_rep_3)
2017-01-02 19:25:44 +01:00
Sébastien Loriot 88d391ab51 improve phrasing 2016-12-30 15:46:13 +01:00
Sébastien Loriot 6341b5d5ed rename named parameter and update concept after adding edge sampling 2016-12-30 14:52:10 +01:00
Sébastien Loriot 91278918d7 reorder named parameters 2016-12-29 18:06:58 +01:00
Sébastien Loriot a847818904 improve description 2016-12-29 18:02:36 +01:00
Sébastien Loriot 886b65edd1 remove set_ prefix from named parameters 2016-12-29 17:50:16 +01:00
Sébastien Loriot bfc20a922b move using instructions 2016-12-29 07:21:04 +01:00
Sébastien Loriot 283815c875 improve doc 2016-12-29 07:21:04 +01:00
Sébastien Loriot 94b2720fbd use name parameters for selecting the sampling algorithm
A dedicated sampling of edges is also introduced as well as
an option to use input vertices to evaluate the distance.
2016-12-29 07:20:25 +01:00
Sébastien Loriot db6b7e0a00 add sampling on edges and vertices for a single face (grid case)
also add missing overload
2016-12-29 07:20:25 +01:00
Sébastien Loriot 5ee83b555b remove Triangle_3 extra requirements 2016-12-29 07:20:25 +01:00
Sébastien Loriot 621c6c5457 cosmetic changes 2016-12-29 07:20:24 +01:00
Sébastien Loriot fd87870977 fix constructed vector 2016-12-29 07:20:24 +01:00
Maxime Gimeno 4568381657 Another fix for the doc 2016-12-29 07:20:24 +01:00
Maxime Gimeno cdc76129d0 Keep fixing the doc 2016-12-29 07:20:24 +01:00
Andreas Fabri 18a39a54bd fix VC++ warnings by adding static_cast 2016-12-29 07:20:24 +01:00
Maxime Gimeno 768e52fe54 Another fix of the doc. 2016-12-29 07:20:23 +01:00
Maxime Gimeno 1d43e641d6 Fix measure.h and update demo plugin code 2016-12-29 07:20:23 +01:00
Maxime Gimeno 581b677a44 Add sample_face() and fix some doc. 2016-12-29 07:20:23 +01:00
Simon Giraudot 98b5ae4682 Fix angle/circumcenter/m_edge problems 2016-12-29 07:20:23 +01:00
Maxime Gimeno 06dd4a4522 Add a geom-traits concept for distance functions
Update the code and the doc accordingly
2016-12-29 07:20:23 +01:00
Jane Tournois e9f6885d3e minor doc fixes 2016-12-29 07:20:23 +01:00
Jane Tournois 2e804f6e48 fix the doc of `sample_triangle_mesh`
fix a few typos, and fix the layout of bullet lists
2016-12-29 07:20:22 +01:00
Maxime Gimeno d5bdf342d4 Use functor instead of free function volume() 2016-12-29 07:20:22 +01:00
Maxime Gimeno 9140ab3f31 Replace approximated by approximate in the function names. 2016-12-29 07:20:22 +01:00
Sébastien Loriot 3710a60b9c doc clean up 2016-12-29 07:20:22 +01:00
Maxime Gimeno 0cc2c59981 Fixes for SF. 2016-12-29 07:20:22 +01:00
Maxime Gimeno cc44c571e5 Shorten the code lines. 2016-12-29 07:20:22 +01:00
Maxime Gimeno 3fca4399c6 Add examples and keep fixing the doc 2016-12-29 07:20:22 +01:00
Maxime Gimeno cbf7e6b722 Doc and test fix. 2016-12-29 07:20:21 +01:00
Sébastien Loriot 81b11ee2d5 Bug-fix: accept range of points as input and not only vectors 2016-12-29 07:20:21 +01:00
Maxime Gimeno 0c3edf822c Add tests for misisng documented functions. 2016-12-29 07:20:21 +01:00
Maxime Gimeno a4127d74c1 Add distance computation to poisson_reconstruction's example. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 6cf0504f95 Fixes and clean-up : first part. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 3cedefa08e Update the doc. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 9e767fd16f Fix and clean-up 2016-12-29 07:20:21 +01:00
Maxime Gimeno 6858d65e5d Update and fix
Parallelize the plugin if TBB is linked with CGAL and fix the parallelized code in distance.h.
2016-12-29 07:20:21 +01:00
Maxime Gimeno a232a257ca Implementation of the `max_distance_to_point_set()` function. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 033adb29f1 Update the demo and fix the code for Polyhedron. 2016-12-29 07:20:20 +01:00
Maxime Gimeno 542efa95d7 Implement the NamedParameters functions and use the property maps. 2016-12-29 07:20:20 +01:00
Maxime Gimeno c9ec5a224e Remove useless sampling. 2016-12-29 07:20:20 +01:00
Maxime Gimeno f742ad250e Fix for use with Polyhedron
- Polyhedron does not have a halfedge_around_face_descriptor, thus it does not respect the BGL doc and we must use a regular halfedge_descriptor instead.
2016-12-29 07:20:20 +01:00
Maxime Gimeno 39e7b76902 WIP 2016-12-29 07:20:19 +01:00
Maxime Gimeno 0f13cde758 Implementation:
- cherry-pick Random_generator
- implement hausdorff distance functions
- implement sample_triangle_mesh
2016-12-29 07:20:19 +01:00
Maxime Gimeno 62e78f34e5 WIP 2016-12-29 07:20:19 +01:00
Maxime Gimeno c4a6da2f8b Transform the overloads to use Surface_mesh instead of triangle meshes. 2016-12-29 07:20:19 +01:00
Maxime Gimeno c5a17ce354 Change `approximated_Hausdorff_distance()` to use a Surface_mesh instead of a triangle range. 2016-12-29 07:20:19 +01:00
Sébastien Loriot 2577fd912e WIP to add Hausdorff distance to a mesh 2016-12-29 07:20:19 +01:00
Sébastien Loriot 9dbaf36646 put function is correct group 2016-12-26 08:33:43 +01:00
Sébastien Loriot 6b72ab2a6e remove a too strict check that eliminate all operations in case of edge tangency 2016-12-22 16:17:02 +01:00
Sébastien Loriot 39fe7c2936 handle the import of border halfedge 2016-12-22 16:11:21 +01:00
Sébastien Loriot d18e9b2e85 fix typo 2016-12-22 10:25:08 +01:00