Commit Graph

1739 Commits

Author SHA1 Message Date
Maxime Gimeno d588c55bbb Make functions free functions and wright doc 2017-08-04 15:06:41 +02:00
Jane Tournois d826147256 remove TriangleAccessor from polyhedral_mesh_complex 2017-08-03 17:15:43 +02:00
Jane Tournois 56cab9458c remove extra typename 2017-08-03 16:09:52 +02:00
Jane Tournois 0c2999da30 use forward declaration include 2017-08-03 16:09:52 +02:00
Jane Tournois 77896f38fe use the AABB_tree internal to Side_of_triangle_mesh
this avoids incompatibility issues,
and simplifies the code in Polyhedral_mesh_domain_3
2017-08-03 16:09:52 +02:00
Jane Tournois 862300b609 remove extra *
and improve indentation
2017-08-03 16:09:52 +02:00
Jane Tournois ee8eda8a16 TriangleAccessor is not needed anymore 2017-08-03 16:09:52 +02:00
Jane Tournois 9e388204e8 use Side_of_triangle_mesh in Polyhedral_mesh_domain_3 2017-08-03 16:09:52 +02:00
Maxime Gimeno 95dfae314b Rename file 2017-08-02 16:26:53 +02:00
Laurent Rineau 917781929b Merge pull request #2279 from janetournois/Polyhedron_demo_-add_mesh_surface_w_border_in_closed_domain-GF
Qualify call of is_empty() as CentOS6-CXX11 sees an ambiguity with struct std::is_empty
2017-07-25 18:17:10 +02:00
Laurent Rineau 0ec094d1e0 Bug-fix: fix a bug that could lead to a size close to 0
The bug and the fix are known for six weeks (found while working on
another project):

> commit 15d1f864c4bb68cc9e267c3be3610296e5fa9212
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date:   Fri Feb 17 12:17:18 2017 +0100
>
>     Refactoring of Sizing_field_with_aabb_tree (API breakage too)

but we forgot to include the fix in CGAL.
2017-07-21 17:29:29 +02:00
Laurent Rineau 99bfe4b200 Fix debug code, after the BGLization 2017-07-21 17:18:51 +02:00
Laurent Rineau 5f198bca9c Bug-fix: fix a bug that could lead to a size close to 0
The bug and the fix are known for six weeks (found while working on
another project):

> commit 15d1f864c4bb68cc9e267c3be3610296e5fa9212
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date:   Fri Feb 17 12:17:18 2017 +0100
>
>     Refactoring of Sizing_field_with_aabb_tree (API breakage too)

but we forgot to include the fix in CGAL.
2017-07-21 16:49:40 +02:00
Laurent Rineau 2ef17adaf0 Extend the test to compare with reference files
That way, if the format changes, the test will detect the change.
2017-07-18 15:53:21 +02:00
Laurent Rineau aa85aea097 Fix io_signature for Mesh_3 (since the weighted point rework) 2017-07-18 14:40:10 +02:00
Laurent Rineau ceec6140ba Merge pull request #1884 from lrineau/Mesh_3-Polyhedral_complex_mesh_domain_3-GF
New class of MeshDomainWithFeatures_3, from a polyhedral complex
2017-07-17 16:28:27 +02:00
Laurent Rineau 78f1988747 Merge pull request #2247 from lrineau/Surface_mesher-cleanup_after_Weighted_point_3-lrineau
Surface mesher: cleanup files after the move to Weighted_point_3
2017-07-17 12:24:03 +02:00
Laurent Rineau 871bba21f6 Merge pull request #2212 from MaelRL/Periodic_3_Regular_triangulation_3-APelle
Add periodic regular triangulations
2017-07-17 12:23:54 +02:00
Andreas Fabri b138cc7f9e Qualify call as CentOS6-CXX11 sees an ambiguity with struct std::is_empty 2017-07-17 11:11:42 +02:00
Laurent Rineau ef2f6cd9a8 Remove remaining use of <CGAL/Weighted_point.h> 2017-07-11 13:35:41 +02:00
Jane Tournois 0ca00822dc fix warnings
about comparison signed/unsigned
2017-07-07 11:54:24 +02:00
Jane Tournois 433d154329 variable used only in verbose mode 2017-07-07 11:27:21 +02:00
Jane Tournois 400edd0886 this can't be tested when Surface_patch_index is not only an integer 2017-07-07 11:23:59 +02:00
Jane Tournois b7597d90f7 rt.insert() takes a weighted point
fix compilation error
2017-07-07 10:56:17 +02:00
Jane Tournois ca20cea4f2 fix compilation errors after rebase 2017-07-07 10:19:08 +02:00
Andreas Fabri 5dbe78d1ec Remove typdef 2017-07-07 10:15:10 +02:00
Jane Tournois 63d793575d typos in the doc 2017-07-07 10:15:10 +02:00
Jane Tournois b47a4eec3e Partially Revert "allow not to protect borders and sharp features in a polyhedral complex"
This reverts commit 087c6ab1f388febb8823c66eb9d05b9229a4af93.

We now use a const_cast to solve the problem of the reverted commit
2017-07-07 10:15:10 +02:00
Jane Tournois 8a36efa436 allow not to protect borders and sharp features in a polyhedral complex
we overload construct_initial_points_object() to fill internal data structures
of Polyhedral_complex_mesh_domain_3 in case they have not been initialized yet

there were a lot of constness issues to be solved, and most internal data
structures had to be made mutable.
It seems to be a better choice and exposing a non-const mesh domain in the
outer functions as init_c3t3() for example
2017-07-07 10:15:10 +02:00
Jane Tournois b49bd34349 document the class, and set visible or not what should be 2017-07-07 10:15:10 +02:00
Jane Tournois 6692154562 doc : fix compilation, and add group 2017-07-07 10:15:10 +02:00
Jane Tournois 63cc93d15d change some private to protected, and add a constructor
to be able to use the methods in a derived class
2017-07-07 10:15:10 +02:00
Jane Tournois 0a1f3ce326 use the typedef Polyhedron_type 2017-07-07 10:15:10 +02:00
Jane Tournois db634d317e deal with duplicated points
in some configurations where the input is non-manifold at a vertex,
there might be duplicated points.
When this happens, we want to merge the incident surface patches
to preserve meshing with the topology criterion from not terminating
2017-07-07 10:15:10 +02:00
Jane Tournois 06434bda1a fix add_vertices_to_c3t3_on_patch_without_feature_edges(C3t3& c3t3)
the implementation was incomplete
2017-07-07 10:15:10 +02:00
Jane Tournois 8d54b6f970 remove functions that have become useless
because we do not restrict to cuboid-like domains,
we can use is_sharp, detect_sharp_edges, and detect_border_edges
from Detect_features_in_polyhedra instead of these specific implementations
2017-07-07 10:15:10 +02:00
Jane Tournois 9fc794ec14 add missing ref 2017-07-07 10:15:10 +02:00
Jane Tournois 82da7a8f61 write detect_borders() and detect_features()
as done in CGAL::Polyhedral_mesh_domain_with_features_3
2017-07-07 10:15:10 +02:00
Jane Tournois 80e3ce68dd do not detect sharp features in constructor
and do not consider that sharp edges have to be on the bbox
2017-07-07 10:15:10 +02:00
Jane Tournois 675f54334b add comments 2017-07-07 10:15:10 +02:00
Jane Tournois 46d31b6f48 fix compilation for visual studio
msvc 2013 fails to match IGT with the local IGT, and mismatches
with the one from the Base class.

this commit is enough to help it match types
2017-07-07 10:15:10 +02:00
Laurent Rineau 87d7824afc Include the license checking header 2017-07-07 10:15:10 +02:00
Laurent Rineau abc6c0697f Fix the stupid name lookup bug from Visual C++
```
...\include\CGAL/Polyhedral_complex_mesh_domain_3.h(283): error C2248: 'CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor,CGAL::Tag_true,CGAL::Tag_true>::IGT': cannot access private typedef declared in class 'CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor,CGAL::Tag_true,CGAL::Tag_true>'
        with
        [
            Polyhedron=CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,
            IGT=K,
            TriangleAccessor=CGAL::Triangle_accessor_3<CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,K>
        ]
...\include\CGAL/Polyhedral_mesh_domain_3.h(169): note: see declaration of 'CGAL::Polyhedral_mesh_domain_3<Polyhedron,IGT,TriangleAccessor,CGAL::Tag_true,CGAL::Tag_true>::IGT'
        with
        [
            Polyhedron=CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,
            IGT=K,
            TriangleAccessor=CGAL::Triangle_accessor_3<CGAL::Polyhedron_3<K,CGAL::Mesh_3::Mesh_polyhedron_items<int>,CGAL::HalfedgeDS_default,std::allocator<int>>,K>
        ]
```
2017-07-07 10:15:10 +02:00
Laurent Rineau afa62cbb40 First draft of a documentation for Polyhedral_complex_mesh_domain_3 2017-07-07 10:15:10 +02:00
Laurent Rineau c4fea992cb Add an example and a class: Polyhedral_complex_mesh_domain_3 2017-07-07 10:15:10 +02:00
Maxime Gimeno 2e5b2d5d84 Fix mesh_3_plugin with SM 2017-07-05 16:59:11 +02:00
Mael Rouxel-Labbé 5ef4ed6083 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on master
2017-07-03 16:12:14 +02:00
Laurent Rineau d878561809 Merge pull request #2102 from afabri/Kernel_Weighted_point_without_conversion-GF
Remove implicit conversions between points and weighted points
2017-07-03 12:08:57 +02:00
Mael Rouxel-Labbé ce8f3ff2d9 Fixed unused variable warning 2017-06-28 10:17:14 +02:00
Mael Rouxel-Labbé 044deb6c7e Replaced boost_static_assert with cgal_static_assert and used () guards 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé aed94b400b Renamed Compact_mesh_cell_base_3's circumcenter_ to weighted_circumcenter_ 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 1f14a66d94 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé d2fe610870 Fixed Robust_weighted_[...]_traits offering a weighted API for squared_radius_3
This is artifically creating implicit conversions, which we are removing
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé fd7ae58de6 Fixed point / weighted_point usage 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé ddf8384769 Removed obsolete class Creator_weighted_point_3.h 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 2d2eb22f98 Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 614293f673 Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-06-28 10:16:23 +02:00
Jane Tournois 130e65db97 really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 1860ee4d04 Fixed abusive class member initialization 2017-06-28 10:16:23 +02:00
Jane Tournois 110316570c really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that both geom traits
are compatible
2017-06-28 10:16:23 +02:00
Mael Rouxel-Labbé 5716601d01 Fixed various Bare_point / Weighted_point usage across Mesh_3
Hopefully, this is the last batch
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé b0b1e5ceaf Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
... and improved them and gave them more overloads
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 1db071e3ee Moved up the force_exact test to avoid computing useless determinants 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 1043965fe8 Removed useless includes 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé befccc1acc Cleaned uses of obsolete traits class Regular_triangulation_euclidean_traits 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 026058a20d Removed useless semicolon 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé cc8d0da913 Fixed (almost all) default constructed traits in Mesh_3
Also fixed constructing points/weighted_points not through the traits and
uses of point().point()
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 234c2bf973 Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé eee6df0b76 Removed Bare_point definition from Mesh_3's Robust_weighted_...etc..._traits
It is not for the traits to define Bare_point. It is defined in the regular
triangulation.

This commit breaks stuff, but it'll be fixed in the following commits.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé fd2e681afc Removed useless semicolon 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 754cc3dbe0 Minor doc improvement 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d0e86aa386 Fixed compilation issues resulting from the removal of WP->P implicit conversion 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 7edd988ed9 Consistently grab the Bare_point typedef from the triangulation
instead of the geometric traits
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 902aa3c045 Fixed missing typedef
and removed some warnings due to unused typedefs
2017-06-28 10:14:35 +02:00
Jane Tournois 6ddda349ad remove useless variables 2017-06-28 10:14:35 +02:00
Jane Tournois 0a14e77f40 remove extra reference
this was leading to (fp == p), and no way to move back to the original
position of v0
2017-06-28 10:14:35 +02:00
Jane Tournois 31806e471b return type should be Bare_point 2017-06-28 10:14:35 +02:00
Jane Tournois 726c84b742 fix one more Bare_point 2017-06-28 10:14:35 +02:00
Jane Tournois 223e3a20b6 make constructors of Weighted_point explicit
and fix compilation errors
2017-06-28 10:14:35 +02:00
Andreas Fabri 60fa986e1f make the Polyhedron demo mesh_3_plugin work 2017-06-28 10:14:35 +02:00
Jane Tournois 442e7f00f0 avoid using wp.point(), use Construct_point_3 instead 2017-06-28 10:14:35 +02:00
Jane Tournois ae4449782d remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
this commit only fixes the testsuite of Mesh_3
2017-06-28 10:14:35 +02:00
Andreas Fabri c68bd75b6b Now also the examples compile 2017-06-28 10:14:35 +02:00
Andreas Fabri 780e01dc90 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-28 10:14:35 +02:00
Andreas Fabri e2abe11309 Consistently use Bare_point and Weighted_point 2017-06-28 10:14:35 +02:00
Andreas Fabri 787d46ffb8 Disable Point_3(const Weighted_point_3&) 2017-06-28 10:14:35 +02:00
Jane Tournois 6cc02867d0 add functionality to make mesh_3_plugin
it is now able to mesh surfaces with border inside a closed polyhedral domain

`empty()` yields an ambiguity with the function available in Interval_traits.h,
so we need to rename `empty()` to `is_empty()`
2017-06-22 16:17:24 +02:00
Jane Tournois 58380c0888 use empty() BGL helper function to fix compilation 2017-06-20 17:33:48 +02:00
Laurent Rineau 8693ab4d1d Merge pull request #2152 from lrineau/Mesh_3-small_fixes-GF
Mesh 3: small fixes
2017-06-16 12:06:41 +02:00
Mael Rouxel-Labbé 3c42724e22 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 41e7520b3e
2017-06-15 15:07:53 +02:00
Mael Rouxel-Labbé a9e25ec619 Renamed Compact_mesh_cell_base_3's circumcenter_ to weighted_circumcenter_ 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9cc17dc935 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé f33fc2a456 Fixed Robust_weighted_[...]_traits offering a weighted API for squared_radius_3
This is artifically creating implicit conversions, which we are removing
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 222248548c Fixed point / weighted_point usage 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé f93fc58cae Removed obsolete class Creator_weighted_point_3.h 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé fa6be567e5 Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé d22eaa2ce5 Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-06-15 10:34:15 +02:00
Jane Tournois dae940b0fd really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9d53db0c54 Fixed abusive class member initialization 2017-06-15 10:34:15 +02:00
Jane Tournois e399530d69 really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that both geom traits
are compatible
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé b5dadc0c95 Fixed various Bare_point / Weighted_point usage across Mesh_3
Hopefully, this is the last batch
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé a4503e7edc Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
... and improved them and gave them more overloads
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9518646be4 Moved up the force_exact test to avoid computing useless determinants 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 0a91dac5ed Removed useless includes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé cb70dfb644 Cleaned uses of obsolete traits class Regular_triangulation_euclidean_traits 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 417057b6fe Removed useless semicolon 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé ce5660acbd Fixed (almost all) default constructed traits in Mesh_3
Also fixed constructing points/weighted_points not through the traits and
uses of point().point()
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 96e053211e Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 78ea055735 Removed Bare_point definition from Mesh_3's Robust_weighted_...etc..._traits
It is not for the traits to define Bare_point. It is defined in the regular
triangulation.

This commit breaks stuff, but it'll be fixed in the following commits.
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 24994be80d Removed useless semicolon 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé d3a75a191c Minor doc improvement 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 67b0924ee0 Fixed compilation issues resulting from the removal of WP->P implicit conversion 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 5db27d88d2 Consistently grab the Bare_point typedef from the triangulation
instead of the geometric traits
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé f7592fbbdd Fixed missing typedef
and removed some warnings due to unused typedefs
2017-06-15 10:32:03 +02:00
Jane Tournois 85e87d4f59 remove useless variables 2017-06-15 10:32:03 +02:00
Jane Tournois a7b92113c7 remove extra reference
this was leading to (fp == p), and no way to move back to the original
position of v0
2017-06-15 10:32:03 +02:00
Jane Tournois 04b2f4ea25 return type should be Bare_point 2017-06-15 10:32:03 +02:00
Jane Tournois 4db6afd2aa fix one more Bare_point 2017-06-15 10:32:03 +02:00
Jane Tournois 9d4b697503 make constructors of Weighted_point explicit
and fix compilation errors
2017-06-15 10:32:03 +02:00
Andreas Fabri 42509e2a1f make the Polyhedron demo mesh_3_plugin work 2017-06-15 10:32:03 +02:00
Jane Tournois ea970f5aa5 avoid using wp.point(), use Construct_point_3 instead 2017-06-15 10:29:26 +02:00
Jane Tournois 5180389e3a remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
this commit only fixes the testsuite of Mesh_3
2017-06-15 10:29:26 +02:00
Andreas Fabri 3f4286068c Now also the examples compile 2017-06-15 10:29:26 +02:00
Andreas Fabri 58c8d7cb1a WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-15 10:29:26 +02:00
Andreas Fabri 5a090c26a4 Consistently use Bare_point and Weighted_point 2017-06-15 10:29:26 +02:00
Andreas Fabri 80224bf2c8 Disable Point_3(const Weighted_point_3&) 2017-06-15 10:29:26 +02:00
Maxime Gimeno bd45c39ef3 Fix warnings 2017-06-14 09:32:13 +02:00
Laurent Rineau f6b8ad199d More the "compatibility" specializations after the others 2017-06-12 16:45:07 +02:00
Laurent Rineau ffa9d59e5e Fix polyhedral mesh domain in untested cases 2017-06-02 17:57:08 +02:00
Mael Rouxel-Labbé 5df733c3af Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 3e43409d01
2017-06-02 16:28:17 +02:00
Maxime Gimeno f61a0e39f6 Fix missing set include 2017-06-02 15:34:15 +02:00
Mael Rouxel-Labbé 0b2255baff Renamed Compact_mesh_cell_base_3's circumcenter_ to weighted_circumcenter_ 2017-06-01 11:26:50 +02:00
Mael Rouxel-Labbé a8379e65f9 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-01 11:26:05 +02:00
Andreas Fabri 518c6cc1f4 Fix the demo 2017-05-31 21:16:00 +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 d6816a7368 Move Mesh_3 specific properties to Mesh_3 2017-05-31 16:08:26 +02:00
Mael Rouxel-Labbé 9fd7d90ffd Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Based on Kernel_Weighted_point_without...
  @ 95c71de2e5
2017-05-30 16:13:34 +02:00
Mael Rouxel-Labbé f4f1ca6c91 Fixed Robust_weighted_[...]_traits offering a weighted API for squared_radius_3
This is artifically creating implicit conversions, which we are removing
2017-05-30 15:22:54 +02:00
Maxime Gimeno fcc081f95d make mesh_3_plugin work with surface_mesh.
Find why topoogy(int) is declared twice.
2017-05-29 13:24:07 +02:00
Laurent Rineau 7d34fc5dbd Add compatibility: support when Patch_id is Tag_true/Tag_false 2017-05-29 13:24:07 +02:00
Laurent Rineau 2c2ad9ff6d Move properties from <CGAL/Mesh_polyhedron_3.h>...
... to `<CGAL/boost/graph/PMP_properties_Polyhedron_3.h>`.
2017-05-29 13:24:06 +02:00
Maxime Gimeno 9a3dde95ba Fix missing headers and definitions, SFINAE problems and ambiguous specialisation. 2017-05-29 13:24:06 +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 5db694c154 polyhedral domain with features works for Surface_mesh and cheese.off (Polyhedron does no longer :(
Conflicts:
	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 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
Andreas Fabri 5a302c805d Make make_mesh_3() work for Surface_mesh 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 8b9eae7f44 Fix rebase 2017-05-29 13:22:35 +02:00
Laurent Rineau d50e391577 Move properties from <CGAL/Mesh_polyhedron_3.h>...
...to `<CGAL/boost/graph/PMP_properties_Polyhedron_3.h>`.

Conflicts:
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
2017-05-29 13:20:41 +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
Andreas Fabri a33e423d2e Add property maps to Mesh_polyhedron_3::type 2017-05-29 13:20:38 +02:00
Maxime Gimeno 7a3c096c72 fix detect_features 2017-05-29 13:20:38 +02:00
Maxime Gimeno 6b2a44c75e Link only with the right library in CMakeLists.txt 2017-05-29 13:20:36 +02:00
Andreas Fabri c8bc628c90 WIP: make the selection plugin work for Surface_mesh 2017-05-29 13:20:33 +02:00
Mael Rouxel-Labbé 1059dcb78f Fixed bad merge 2017-05-24 14:08:00 +02:00
Mael Rouxel-Labbé 5354134469 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-05-24 12:18:49 +02:00
Mael Rouxel-Labbé 598244b1a5 Fixed point / weighted_point usage 2017-05-22 14:15:58 +02:00
Mael Rouxel-Labbé 6b637e0574 Removed obsolete class Creator_weighted_point_3.h 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 7185d8fec0 Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 757c18868b Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-05-22 11:27:02 +02:00
Jane Tournois 61aa1716af really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé bc54384c8b Fixed abusive class member initialization 2017-05-22 11:27:02 +02:00
Jane Tournois c37857bd9e really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that both geom traits
are compatible
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 38215e860b Fixed various Bare_point / Weighted_point usage across Mesh_3
Hopefully, this is the last batch
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 41590d7790 Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
... and improved them and gave them more overloads
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé b30fbfe4f9 Moved up the force_exact test to avoid computing useless determinants 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 3d2746f279 Removed useless includes 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé ae8c85abe6 Cleaned uses of obsolete traits class Regular_triangulation_euclidean_traits 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 34837d88ff Removed useless semicolon 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 6dd3287538 Fixed (almost all) default constructed traits in Mesh_3
Also fixed constructing points/weighted_points not through the traits and
uses of point().point()
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 2b0ef47939 Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 11a19f7ae3 Removed Bare_point definition from Mesh_3's Robust_weighted_...etc..._traits
It is not for the traits to define Bare_point. It is defined in the regular
triangulation.

This commit breaks stuff, but it'll be fixed in the following commits.
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 8d843e6bb8 Removed useless semicolon 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 94f79cf777 Minor doc improvement 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé e38b21cf9f Fixed compilation issues resulting from the removal of WP->P implicit conversion 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé b1726903ee Consistently grab the Bare_point typedef from the triangulation
instead of the geometric traits
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 7872621742 Fixed missing typedef
and removed some warnings due to unused typedefs
2017-05-22 11:20:45 +02:00
Jane Tournois 79915ab6d7 remove useless variables 2017-05-22 11:20:45 +02:00
Jane Tournois 4555539a28 remove extra reference
this was leading to (fp == p), and no way to move back to the original
position of v0
2017-05-22 11:20:45 +02:00
Jane Tournois 4381947186 return type should be Bare_point 2017-05-22 11:20:45 +02:00
Jane Tournois f779f776e4 fix one more Bare_point 2017-05-22 11:20:45 +02:00
Jane Tournois ca25e3176c make constructors of Weighted_point explicit
and fix compilation errors
2017-05-22 11:20:45 +02:00
Andreas Fabri 499b9fe8e7 make the Polyhedron demo mesh_3_plugin work 2017-05-22 11:20:45 +02:00
Jane Tournois 26b5162c38 avoid using wp.point(), use Construct_point_3 instead 2017-05-22 11:20:45 +02:00
Jane Tournois a4ee219f99 remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
this commit only fixes the testsuite of Mesh_3
2017-05-22 11:20:45 +02:00
Andreas Fabri 2ad0200d34 Now also the examples compile 2017-05-22 11:20:45 +02:00
Andreas Fabri 81ae80c465 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-05-22 11:20:45 +02:00
Andreas Fabri b36b65ed41 Consistently use Bare_point and Weighted_point 2017-05-22 11:20:45 +02:00
Andreas Fabri 57e6083b29 Disable Point_3(const Weighted_point_3&) 2017-05-22 11:20:45 +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 9c873a799a Merge pull request #2098 from janetournois/Polyhedron_demo-small_fixes-GF
Polyhedron demo : two small fixes
2017-05-19 10:29:34 +02:00
Laurent Rineau db8732b10a Merge pull request #2098 from janetournois/Polyhedron_demo-small_fixes-GF
Polyhedron demo : two small fixes
2017-05-19 10:27:00 +02:00
Laurent Rineau 631bc832f8 Merge pull request #2115 from afabri/Mesh_3-TBB_hash_pair-GF
Mesh_3: Address TBB performance warning on hashing
2017-05-19 10:26:49 +02:00
Laurent Rineau 50eafbd21f Merge pull request #1920 from d1saster/Cell_criteria_visitor_with_features
Mesh_3: Allow AbstractCriterion to be visited by Cell_criteria_visitor_with_f…
2017-05-19 10:26:29 +02:00
Laurent Rineau b0317354e7 Fix the recent regression: bad use of geodesic_distance with cycles 2017-05-18 11:58:45 +02:00
Laurent Rineau a67462a4c7 Cosmetic: rename get_size to get_radius 2017-05-18 11:58:45 +02:00
Laurent Rineau 415fb5e49d Better display of vertices with time stamps 2017-05-18 11:58:44 +02:00
Jane Tournois 9efe48a581 replace distance with geodesic_distance to better fit the polylines 2017-05-18 11:58:44 +02:00
Laurent Rineau f1e4ca1b63 Display time stamps in CGAL_MESH_3_PROTECTION_DEBUG 2017-05-18 10:57:13 +02:00
Laurent Rineau 0757cfaeb0 Re-use existing time stamps
When a `Vertex` or a `Cell` is recycled by the `Compact_container`,
re-use the existing time stamp instead of increment it. That will avoid
that the pointee of a handle has a changing timestamp.
2017-05-18 10:57:13 +02:00
Mael Rouxel-Labbé 63a3adb8d5 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-05-18 10:40:11 +02:00
Mael Rouxel-Labbé c802c7dadd Removed obsolete class Creator_weighted_point_3.h 2017-05-17 16:34:25 +02:00
Mael Rouxel-Labbé f45c008721 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Using afabri/Kernel_Weighted_point_without_conversion-GF
  @ 5c2a089e3e
2017-05-16 17:48:07 +02:00
Mael Rouxel-Labbé 5c2a089e3e Fixed boost/core/is_same.hpp > boost/type_traits/is_same.hpp 2017-05-13 22:21:59 +02:00
Mael Rouxel-Labbé 04c0681ef4 Fixed erroneous auto-merging 2017-05-12 17:06:55 +02:00
Mael Rouxel-Labbé eabe8c7d02 Forgot compact_mesh_cell_base in f2a308d
That is, making cell_bases models of the concept RegularTriangulationCellBase_3
2017-05-12 14:52:32 +02:00
Mael Rouxel-Labbé 2f0f955a59 Merge branch 'Kernel_Weighted_point_without_conversion-GF' of github.com:afabri/cgal into Kernel_Weighted_point_without_conversion-GF 2017-05-12 13:12:47 +02:00
Jane Tournois 6ed6af00a0 really use the GT given as a parameter
When the geom_traits given as parameter of `circumcenter` and/or
`weighted_circumcenter` was deriving from the cell base GT
(first template parameter), the gt was up-casted to the
cell base GT, and the function construct_circumcenter_3_object()
(or construct_weighted_circumcenter_3_object()) not
called on the right geom traits type --> possibly missing
the actual input of the function (the robust_circumcenter_traits in Mesh_3)

we add a static assert to check at compile time that point types are the same
2017-05-12 13:07:00 +02:00
Mael Rouxel-Labbé e8e4c0b360 Fixed abusive class member initialization 2017-05-12 12:23:00 +02:00
Andreas Fabri d1da889895 Mesh_3: Address TBB performance warning on hashing 2017-05-12 09:45:44 +02:00
Mael Rouxel-Labbé bf425a46e6 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Strongly breaks P3T3, will be fixed in the next commits
2017-05-11 17:45:15 +02:00
Mael Rouxel-Labbé 97b789a741 Merge branch 'Kernel_Weighted_point_without_conversion-GF-old' into Kernel_Weighted_point_without_conversion-GF 2017-05-10 12:32:46 +02:00
Jane Tournois d88dd96207 fix compilation of detect_borders() 2017-05-04 17:03:15 +02:00
Mael Rouxel-Labbé 5c21d4affc Fixed various Bare_point / Weighted_point usage across Mesh_3
Hopefully, this is the last batch
2017-04-28 17:59:33 +02:00
Mael Rouxel-Labbé 6610dc7116 Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
... and improved them and gave them more overloads
2017-04-28 17:51:22 +02:00
Mael Rouxel-Labbé d66373519e Moved up the force_exact test to avoid computing useless determinants 2017-04-27 16:02:23 +02:00
Jane Tournois 706b53b2c2 Revert "add missing reference"
This reverts commit 2cf7092715.

see commit c55e391f97
pull request #1911 from lrineau/Mesh_3-manifold_TBB-lrineau
2017-04-27 10:19:02 +02:00
Jane Tournois 3752043228 fix a bug in protection of a cycle
// In case we sample a full cycle, we want to add at least 2
// balls, equally distributed.

and add a warning when protection failed to terminate
2017-04-20 17:11:34 +02:00
Jane Tournois 6fc0c6c083 fix the bounding box of image domain
-1 is arbitrary and can be a lot too high compared to the scale of the image
2017-04-20 17:05:03 +02:00
Jane Tournois 2cf7092715 add missing reference 2017-04-20 16:57:05 +02:00
Mael Rouxel-Labbé 1a08723f31 Removed useless includes 2017-04-16 01:13:42 +02:00
Mael Rouxel-Labbé fb81482652 Cleaned uses of obsolete traits class Regular_triangulation_euclidean_traits 2017-04-15 23:23:23 +02:00
Mael Rouxel-Labbé d3bb698569 Removed useless semicolon 2017-04-15 23:21:55 +02:00
Mael Rouxel-Labbé deb7f45d86 Fixed (almost all) default constructed traits in Mesh_3
Also fixed constructing points/weighted_points not through the traits and
uses of point().point()
2017-04-15 23:17:23 +02:00
Laurent Rineau dce8bb77ba Merge pull request #2053 from cjamin/Mesh_3-code_improvements-cjamin
Mesh_3: code improvements + bug fix
2017-04-14 18:32:05 +02:00
Mael Rouxel-Labbé 7228eaa7cc Fixed (remaining) Bare_point / Weighted_point wrong usages across Mesh_3 2017-04-14 10:53:03 +02:00
Laurent Rineau 87c9afd486 Fix the compilation of individual headers
- in most cases, that was just adding missing #include
- I have removed the use of <CGAL/basic.h>
2017-04-13 15:56:51 +02:00
Mael Rouxel-Labbé 457b1bc14a Removed Bare_point definition from Mesh_3's Robust_weighted_...etc..._traits
It is not for the traits to define Bare_point. It is defined in the regular
triangulation.

This commit breaks stuff, but it'll be fixed in the following commits.
2017-04-13 14:16:28 +02:00
Mael Rouxel-Labbé ea67407e10 Removed useless semicolon 2017-04-12 15:05:21 +02:00
Mael Rouxel-Labbé 67a80fe4ec Minor doc improvement 2017-04-12 15:04:53 +02:00
Mael Rouxel-Labbé 337eb26c9d Fixed compilation issues resulting from the removal of WP->P implicit conversion 2017-04-11 17:13:19 +02:00
Mael Rouxel-Labbé 2ee5b13e6f Merge branch 'Kernel_Weighted_point_without_conversion-GF-old' into Kernel_Weighted_point_without_conversion-GF
Using Kernel-Fix_weighted_point-GF @ 8703f5c122
2017-04-11 17:01:25 +02:00
Laurent Rineau 93311493c4 Merge pull request #1998 from afabri/CGAL-test_license_check-GF
CGAL: Test the license check mechanism
2017-04-07 12:06:23 +02:00
Andreas Fabri 8cbbe0e165 Remove dependencies of Triangulation_3 on Triangulation_2 2017-04-06 11:08:37 +02:00
Laurent Rineau 2cbd2532bb Merge pull request #1911 from lrineau/Mesh_3-manifold_TBB-lrineau
Mesh 3: fix the manifold code with TBB
2017-04-05 17:02:00 +02:00
Mael Rouxel-Labbé 75a9c1fbc2 Consistently grab the Bare_point typedef from the triangulation
instead of the geometric traits
2017-04-04 17:49:47 +02:00
Mael Rouxel-Labbé 7e5e1822f4 Fixed missing typedef
and removed some warnings due to unused typedefs
2017-04-04 16:31:31 +02:00
Laurent Rineau e1035a9477 Improve the debug output
and rename a function
2017-03-31 18:26:19 +02:00
Mael Rouxel-Labbé 6c1c6c0e74 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle
Using cgal/master @ cce6932
2017-03-16 16:39:20 +01:00
Sebastien Loriot cce6932af9 Merge pull request #1947 from janetournois/Mesh_3-add_lipschitz_sizing-example-jtournois
Mesh_3 - add an example for `Lipschitz_sizing`
2017-03-16 11:03:33 +01:00
Jane Tournois 882893c9d9 remove empty file description 2017-03-16 10:37:58 +01:00
Jane Tournois a88efb4144 rename header protection macros, and include license headers 2017-03-14 10:58:46 +01:00
Jane Tournois 8a8827add0 remove useless file description 2017-03-14 10:35:00 +01:00
Jane Tournois 81b6084e98 fix compilation when CGAL_LINKED_WITH_TBB is not defined 2017-03-10 15:56:29 +01:00
Laurent Rineau ee1b7d7793 Reallow to compile without TBB 2017-03-10 15:42:09 +01:00
Laurent Rineau 38a064f582 Fix one_step() with TBB/manifold and mesh_3_plugin 2017-03-10 14:46:50 +01:00