Commit Graph

1392 Commits

Author SHA1 Message Date
Laurent Rineau 8f9ea82a14 Merge branch 'releases/CGAL-4.10-branch' into releases/CGAL-4.11-branch 2017-09-20 11:17:43 +02:00
Laurent Rineau 5b1828cda2 Merge pull request #2445 from sloriot/PMP-fix_is_stitchable
Fix stitchable conditions
2017-09-20 11:13:30 +02:00
Sébastien Loriot c84014992a fix the collection of edges to stitch
we ignore those incident to a degenerate edge on the border
2017-09-19 15:08:19 +02:00
Sébastien Loriot 4fd381128a fix stitchable test
we were skipping all border edges in the test which was
making it missing some non valid cases detected only
with this border edge (since the test is assymetric
as we consider the first halfedge only for the outer
loop)
2017-09-19 11:52:05 +02:00
Laurent Rineau 36fdb16370 Allow to customize the AABB tree of Side_of_triangle_mesh
This is a new optional fourth template parameter of
`Side_of_triangle_mesh`, that is left undocumented for the moment.
2017-09-18 14:56:56 +02:00
Laurent Rineau cba3b1c20c Fix detection of border *edges* 2017-09-07 12:07:17 +02:00
Maxime Gimeno d5ea0b6cbc Fix warnings and copy PMaps in detect_features.h 2017-09-05 12:03:35 +02:00
Maxime Gimeno 5a9a0bc9fb Constify read only maps and modify doc accordingly 2017-08-29 12:16:14 +02:00
Sebastien Loriot 97b8782a27 Merge branch 'master' into Detect_features-GF 2017-08-18 16:34:29 +02:00
Jane Tournois 126a85d863 use the fact that vertex_incident_pmap is an LValuePropertyMap
and add a missing 'const'
2017-08-18 16:14:22 +02:00
Jane Tournois 7408426fae rename variable to avoid compilation issues 2017-08-18 12:17:50 +02:00
Jane Tournois 3bc33e9458 improve indentation and layout 2017-08-18 12:14:32 +02:00
Jane Tournois e2e5b1ed05 edge_is_feature_map is not an optional parameter
see reviews in the small feature
2017-08-18 10:51:25 +02:00
Jane Tournois 2bc4d10463 use put instead of [] to fit every type of property map 2017-08-18 10:39:35 +02:00
Jane Tournois 47fd45d4a8 fix conversion warning 2017-08-17 17:25:46 +02:00
Jane Tournois d5aa3db51d doc and indentation fixes 2017-08-17 17:24:05 +02:00
Jane Tournois 334d4a0c4f doc : replace "collects" with "marks" 2017-08-17 16:03:46 +02:00
Jane Tournois 12011422f6 fix conversion warning 2017-08-17 15:43:02 +02:00
Jane Tournois 99aec9eda9 fix the definition of "sharp" 2017-08-17 15:42:11 +02:00
Jane Tournois d2cc5c0575 add typedefs 2017-08-17 15:22:08 +02:00
Maxime Gimeno 848dea1d42 Fixes default VIP and VNFE 2017-08-11 17:28:06 +02:00
Maxime Gimeno 43ff0d092c Implementation review Jane and sebastien 2017-08-11 15:30:03 +02:00
Maxime Gimeno 080d3a0895 WIP Jane's review 2017-08-11 09:07:32 +02:00
Maxime Gimeno 723492def1 Use existing named_parameters and vertex_incident_patches becomes lvaluepmap, 2017-08-10 15:16:27 +02:00
Maxime Gimeno 1d497d09ff Fix warnings and error 2017-08-10 09:37:37 +02:00
Maxime Gimeno 9f16bafef3 Fix Warnings 2017-08-09 15:22:45 +02:00
Maxime Gimeno f670ffe4e2 detect_surface_patches uses connected_components 2017-08-09 10:24:48 +02:00
Maxime Gimeno 32999ddd78 New pass over doc, tests and examples 2017-08-07 14:50:23 +02:00
Maxime Gimeno 1fe1e21bb6 Replace maximum_surface_patch by first_index. 2017-08-07 13:32:02 +02:00
Maxime Gimeno 3f57e98386 Add license file 2017-08-07 12:20:50 +02:00
Maxime Gimeno 1bad0e7202 Use edges instead of halfedges for edge_is_feature_t and map 2017-08-07 11:39:07 +02:00
Maxime Gimeno d588c55bbb Make functions free functions and wright doc 2017-08-04 15:06:41 +02:00
Sébastien Loriot 4d3be80122 fix wording 2017-08-03 13:59:44 +02:00
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
konstantinos katrioplas ee051f18e9 fix vector_property_map and vertex_point map 2017-07-09 13:13:17 +03:00
konstantinos katrioplas b145af2f33 mean curvature function overload fix 2017-07-09 11:34:54 +03:00
konstantinos katrioplas 3c5ca4d88d setup for curvature flow class 2017-07-05 12:20:24 +03:00
konstantinos katrioplas ab673f61ea switch default angle weighting off temporarily 2017-06-29 08:49:41 +03:00
konstantinos katrioplas b4b3ace780 small fix for collapsed degenerate cases after first iteration when using angle weights and some typos 2017-06-29 08:30:47 +03:00
konstantinos katrioplas fec9a13e68 anneal learning rate asymptotically 2017-06-27 14:38:58 +03:00
konstantinos katrioplas bb13cf0d3d anneal learning rate in gradient descent with a power law to avoid local minima 2017-06-27 12:48:30 +03:00
konstantinos katrioplas 87df982112 take No_constraint_map from remesh_impl 2017-06-25 20:33:07 +03:00
konstantinos katrioplas 517e35d894 use (optionally) weighted angles on calculating the barycenter 2017-06-25 20:12:54 +03:00
konstantinos katrioplas 89bcf82b8f add gradient descent precision as named parameter 2017-06-25 17:05:11 +03:00
konstantinos katrioplas 137031d77e iterations and combination of area and angle remeshing 2017-06-24 21:09:21 +03:00
konstantinos katrioplas 5a38cdf185 area: remove projection on the fly, projection at the end only 2017-06-24 18:46:05 +03: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
konstantinos katrioplas d93e18b1b3 add constrained edges map 2017-06-19 14:51:26 +03:00
konstantinos katrioplas 4ff97d4b8e merge area and angle classes 2017-06-18 23:31:21 +03:00
konstantinos katrioplas f8019da79d new design: smoothing.h - internal/Isotropic_remeshing/smoothing_impl.h 2017-06-18 22:51:15 +03:00
konstantinos katrioplas 20238d5aba projection in angle smoothing 2017-06-18 18:03:37 +03:00
konstantinos katrioplas 291a6dc32f area - bugs and optimizations in gradient descent 2017-06-17 19:57:45 +03: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
konstantinos katrioplas afb8eb01cb fix degenerate cases on angle smoothing 2017-06-16 16:11:07 +03: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
konstantinos katrioplas b8d7a2cb2c fix tolerance on 180 degrees degenerate case 2017-06-15 07:27:31 +03:00
konstantinos katrioplas 8c196474b1 better approach to degenerate cases 2017-06-15 00:36:30 +03:00
konstantinos katrioplas 6903ab9bf0 fix nan degenerate case 2017-06-14 14:56:22 +03:00
konstantinos katrioplas aaa91aa3ed handle degenerate cases and tests 2017-06-14 13:14:52 +03:00
konstantinos katrioplas cd7e7e4402 area smoothing - projection with tree constructed with copied triangles 2017-06-13 13:51:05 +03: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
konstantinos katrioplas 3ff37e0ff6 project to surface with an Incremental remesher 2017-06-11 23:24:17 +03:00
konstantinos katrioplas b66b27a1ae area smoothing 3D stable without projection 2017-06-10 13:31:33 +03:00
konstantinos katrioplas 1d5754ccf8 fix scaling of bisector to correct length 2017-06-05 10:55:59 +03:00
konstantinos katrioplas 62a1989a65 project to tangent plane 2017-06-04 17:46:31 +03:00
konstantinos katrioplas 6c9718e272 angle-based smoothing 2017-06-03 22:45:06 +03: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