Commit Graph

879 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé e59e8c2aa0 Removed useless construct_point_3
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 47b3e7193e Comparison result should be of type Comparison_result
(it worked anyway since Comparison_result is a Sign internally)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 0f8f34c9d4 Fixed compilation of add_temporary_points_on_far_sphere() 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 94abc23da9 Adapted the call to spatial_sort() to handle weighted points
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.

We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.

Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
   the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 91ea1b4049 Adapted sorting algorithms based on compare_xyz to handle weighted point vectors 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 12fb8d35fc Construct_plane() must use bare points arguments 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé b50098bb1e Removed hiding-related functions from Triangulation_cell_base_3
Triangulation_cell_base_3 cannot be used anymore as a cell base of a regular
triangulation and thus there is no point keeping these functions.

People wishing to disable caching of hidden points in regular triangulations
should use the new policy, see commit b92528171c)
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 98226c97c4 Added a template parameter to Regular_tr_cell_base on hidden points handling
Before WP<->P implicit conversion changes, one could choose to not keep hidden
points by using `Triangulation_cell_base_3` as cell base instead of
`Regular_triangulation_cell_base_3`. This is not possible anymore as point types
will conflict.

This changes introduces a new template parameter to pass a policy on whether
to keep or discard hidden points.

It is a breaking change since it is placed before the container template
parameter, but it makes more sense that way and the container type template
was not documented.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé de76ccf545 Removed Weighted_point_mapper_3 and RegTraits_3 shenanigans
There is no need anymore for sneaky traits adaptors to make Triangulation_3
a compatible base of Regular_triangulation_3:
- The Point type in Triangulation_3 is obtained through TDS::Vertex::Point (see
  commit 13d5e89)
- Triangulation_3 always ensures that we are passing bare points to the kernel
  functors that require bare point arguments (see commit db5da73)

This greatly clarifies the code of Regular_triangulation_3: there is only a
single traits type, a single base type, etc.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé cd9a908393 Ensured that we call kernel functions with the correct (bare) point type
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé ae1fb2bfec Deduce Triangulation_3's point type from the TDS
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.

This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé e421fe92f9 Fixed Regular_traits_adaptor
The functor members cannot be references because the Regular_triangulation
might be templated by a traits class that is not simply a Kernel (that is
the case in the package Interpolation).

When that is the case, calling this->K::function_object() might be a call
to a constructor in the base traits class. Thus, the functor members
of Reg_traits_adaptors get initialized to temporaries, which is problematic
because these temporaries are at a much lower scope and thus are quickly
cleaned, leaving us with references to nothing in Reg_traits_adaptor.
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d668d42f44 Do not provide Bare_point overloads in Regular_triangulation 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé f0d3e77558 Fixed usage of Bare point and Weighted point across Triangulation_3 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d2abb2d981 Trimmed Regular triangulation euclidean traits
-- Code added as consequence of disabling implicit conversion between points and
   weighted points implies that defining
     typedef weighted_point point;
   creates ambiguous functors.

   This typedef is nevertheless still used, in Weighted_point_mappers.

-- The traits are not supposed to define Bare_point
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 22bd3538a0 Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé e1dcdcaf4d Cleaned #if 0 code 2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé 78a4a12b0c Fixed hide_point()
Hide weighted points since they can be re-inserted afterwards
2017-06-28 10:14:35 +02:00
Mael Rouxel-Labbé d884edd84a Fixed initialization order warning 2017-06-28 10:14:35 +02:00
Sébastien Loriot e602bae784 version without partial specialization
the norms says that partial specialization should be
done in a namespace (not inside a class)
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 780e01dc90 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-28 10:14:35 +02:00
Andreas Fabri bb213d5ad1 Changes after making Weighted_point_3(const Point_3) explicit 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
Andreas Fabri 2f895335d0 The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-06-28 10:14:35 +02:00
Clement Jamin c7bd6a7403 Include licence check header 2017-06-23 10:41:05 +02:00
Mael Rouxel-Labbé 1761ec3294 Mesh_3 criteria is_bad() now additionally takes the triangulation as parameter
Instead of calling Criteria(element), one must now call Criteria(tr, element).

The idea is that the triangulation should be responsible of geometric data
while elements only handle connectivity (using ids for example).
This is already the case for Periodic_3_mesh_3 which must obtain
"true" geometric information through the (periodic) triangulation class's
methods.

These changes are transparent for Mesh_3 but allow Periodic_3_mesh_3 to use
Mesh_3's criteria.
2017-06-19 15:15:20 +02:00
Mael Rouxel-Labbé 7c014c9e27 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov
Based on cgal-public-dev/Periodic_3_Regular...
  @ 7efd46f427580437943fa549bdbf1159f35b1edb
2017-06-16 11:21:52 +02:00
Clement Jamin 5b9562ea84 Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse 2017-06-16 11:09:07 +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é 5018c014b7 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é 98800d2de8 Fixed regular triangulation capitalization across CGAL 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é 9fa4df6ece Fixed Point / Point_3 issues in T3 and improved the documentation
-- Do not use concept names as template names in the doc
-- Fixed point / point_3 issues and other problems of coherence between concept
and model
-- Fixed some wrong refinement relationships
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
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é 42f4c310e7 Fixed using default templated class functions 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 9872edfe93 Fixed wrong template type (which induced taking references of references) 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é b94b32bacb Changed boost/core/enable_if.hpp to boost/utility/enable_if.hpp 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 042e558f77 Fixed regular cell bases so they actually model the concept
Also, they should not use Bare_point / Weighted_point types, which are defined
in the triangulation (much later during compilation).
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 8ad34307ad Fixed Has_nested_type_Bare_point includes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé bbccf42ef9 Removed an ugly static_cast 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 40566671c7 Misc minor changes 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 0d352759e6 Use boost::function_property_map to apply spatial_sort to weighted points 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é 02732237aa Avoid copies by using result_of in boost::bind() return type
Copies were previously done on purpose to go around the Lazy kernel, but this
can be done without copies (for all kernels) by using result_of.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé a4c1c2371f Removed obsolete file: Regular_traits_adaptor.h 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 411fbe4ea0 Removed useless include 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé c0e71d3fae Reorganized Regular_triangulation_3 dual functions 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1ef25bdfcf Copy boost::bind return object
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 2644989471 Renamed Regular_triangulation base typedef (Base > Tr_Base) 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé d5c54f68b7 Removed useless construct_point_3
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 803f187370 Comparison result should be of type Comparison_result
(it worked anyway since Comparison_result is a Sign internally)
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 49625a6093 Fixed compilation of add_temporary_points_on_far_sphere() 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 15f2e6d7a7 Adapted the call to spatial_sort() to handle weighted points
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.

We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.

Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
   the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 196afa074b Adapted sorting algorithms based on compare_xyz to handle weighted point vectors 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 713eccb729 Construct_plane() must use bare points arguments 2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 6b8f05e08c Removed hiding-related functions from Triangulation_cell_base_3
Triangulation_cell_base_3 cannot be used anymore as a cell base of a regular
triangulation and thus there is no point keeping these functions.

People wishing to disable caching of hidden points in regular triangulations
should use the new policy, see commit b92528171c)
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé eb18d7c007 Added a template parameter to Regular_tr_cell_base on hidden points handling
Before WP<->P implicit conversion changes, one could choose to not keep hidden
points by using `Triangulation_cell_base_3` as cell base instead of
`Regular_triangulation_cell_base_3`. This is not possible anymore as point types
will conflict.

This changes introduces a new template parameter to pass a policy on whether
to keep or discard hidden points.

It is a breaking change since it is placed before the container template
parameter, but it makes more sense that way and the container type template
was not documented.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 70d7823c6b Removed Weighted_point_mapper_3 and RegTraits_3 shenanigans
There is no need anymore for sneaky traits adaptors to make Triangulation_3
a compatible base of Regular_triangulation_3:
- The Point type in Triangulation_3 is obtained through TDS::Vertex::Point (see
  commit 13d5e89)
- Triangulation_3 always ensures that we are passing bare points to the kernel
  functors that require bare point arguments (see commit db5da73)

This greatly clarifies the code of Regular_triangulation_3: there is only a
single traits type, a single base type, etc.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 65b8b430ae Ensured that we call kernel functions with the correct (bare) point type
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 2f93c7c127 Deduce Triangulation_3's point type from the TDS
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.

This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé 1e5ad8c41e Fixed Regular_traits_adaptor
The functor members cannot be references because the Regular_triangulation
might be templated by a traits class that is not simply a Kernel (that is
the case in the package Interpolation).

When that is the case, calling this->K::function_object() might be a call
to a constructor in the base traits class. Thus, the functor members
of Reg_traits_adaptors get initialized to temporaries, which is problematic
because these temporaries are at a much lower scope and thus are quickly
cleaned, leaving us with references to nothing in Reg_traits_adaptor.
2017-06-15 10:34:15 +02:00
Mael Rouxel-Labbé fb8c22c3a1 Do not provide Bare_point overloads in Regular_triangulation 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 73b572a7f0 Fixed usage of Bare point and Weighted point across Triangulation_3 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 12a39cb727 Trimmed Regular triangulation euclidean traits
-- Code added as consequence of disabling implicit conversion between points and
   weighted points implies that defining
     typedef weighted_point point;
   creates ambiguous functors.

   This typedef is nevertheless still used, in Weighted_point_mappers.

-- The traits are not supposed to define Bare_point
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé a0153d77ce Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 2e379fb032 Cleaned #if 0 code 2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé c2ad237670 Fixed hide_point()
Hide weighted points since they can be re-inserted afterwards
2017-06-15 10:32:03 +02:00
Mael Rouxel-Labbé 65a2c08d2d Fixed initialization order warning 2017-06-15 10:32:03 +02:00
Sébastien Loriot 8b49402d80 version without partial specialization
the norms says that partial specialization should be
done in a namespace (not inside a class)
2017-06-15 10:32:03 +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 58c8d7cb1a WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-06-15 10:29:26 +02:00
Andreas Fabri 6a1b4c154b Changes after making Weighted_point_3(const Point_3) explicit 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
Andreas Fabri 64e5c887ec The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-06-15 10:29:26 +02:00
Mael Rouxel-Labbé dca4a3ff32 Hid main encroachment code in P3_mesh_triangulation_3
End goal is to hide periodic details in P3MT3 so that the criteria of Mesh_3
can be fully used without change in P3M3
2017-06-13 17:53:31 +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
Mael Rouxel-Labbé f614b7ae3e 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
Mael Rouxel-Labbé a8379e65f9 Renamed uses of invalidate_circumcenter() in accordance with the modified concept 2017-06-01 11:26:05 +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é 061f112e07 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é 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é 4018368e11 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é b0162b7ac0 Fixed Point / Point_3 issues in T3 and improved the documentation
-- Do not use concept names as template names in the doc
-- Fixed point / point_3 issues and other problems of coherence between concept
and model
-- Fixed some wrong refinement relationships
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
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é 8ab41b37db Fixed using default templated class functions 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 9debfdfd78 Fixed wrong template type (which induced taking references of references) 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é ecd7bbdc3e Changed boost/core/enable_if.hpp to boost/utility/enable_if.hpp 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 768b3f5b02 Fixed regular cell bases so they actually model the concept
Also, they should not use Bare_point / Weighted_point types, which are defined
in the triangulation (much later during compilation).
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 70e1ac97f6 Fixed Has_nested_type_Bare_point includes 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé bfe99438cc Removed an ugly static_cast 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 9eac14e40c Misc minor changes 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 11a5bb7104 Use boost::function_property_map to apply spatial_sort to weighted points 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é 66fa6e1be6 Avoid copies by using result_of in boost::bind() return type
Copies were previously done on purpose to go around the Lazy kernel, but this
can be done without copies (for all kernels) by using result_of.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 6d4b607a2a Removed obsolete file: Regular_traits_adaptor.h 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 64f9045991 Removed useless include 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 67d0dd4b5a Reorganized Regular_triangulation_3 dual functions 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 084225735f Copy boost::bind return object
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé a19ab8e500 Renamed Regular_triangulation base typedef (Base > Tr_Base) 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé b18b6c1f3e Removed useless construct_point_3
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 5a388d85ac Comparison result should be of type Comparison_result
(it worked anyway since Comparison_result is a Sign internally)
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 19c1d509e0 Fixed compilation of add_temporary_points_on_far_sphere() 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 81d3fae011 Adapted the call to spatial_sort() to handle weighted points
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.

We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.

Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
   the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé aa03fdc65e Adapted sorting algorithms based on compare_xyz to handle weighted point vectors 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé f3c53cc53f Construct_plane() must use bare points arguments 2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 5d1b88bc7c Removed hiding-related functions from Triangulation_cell_base_3
Triangulation_cell_base_3 cannot be used anymore as a cell base of a regular
triangulation and thus there is no point keeping these functions.

People wishing to disable caching of hidden points in regular triangulations
should use the new policy, see commit b92528171c)
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 5872c22be3 Added a template parameter to Regular_tr_cell_base on hidden points handling
Before WP<->P implicit conversion changes, one could choose to not keep hidden
points by using `Triangulation_cell_base_3` as cell base instead of
`Regular_triangulation_cell_base_3`. This is not possible anymore as point types
will conflict.

This changes introduces a new template parameter to pass a policy on whether
to keep or discard hidden points.

It is a breaking change since it is placed before the container template
parameter, but it makes more sense that way and the container type template
was not documented.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 320673924a Removed Weighted_point_mapper_3 and RegTraits_3 shenanigans
There is no need anymore for sneaky traits adaptors to make Triangulation_3
a compatible base of Regular_triangulation_3:
- The Point type in Triangulation_3 is obtained through TDS::Vertex::Point (see
  commit 13d5e89)
- Triangulation_3 always ensures that we are passing bare points to the kernel
  functors that require bare point arguments (see commit db5da73)

This greatly clarifies the code of Regular_triangulation_3: there is only a
single traits type, a single base type, etc.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé ccb2b32616 Ensured that we call kernel functions with the correct (bare) point type
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 1a693a0e89 Deduce Triangulation_3's point type from the TDS
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.

This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 84d7f97975 Fixed Regular_traits_adaptor
The functor members cannot be references because the Regular_triangulation
might be templated by a traits class that is not simply a Kernel (that is
the case in the package Interpolation).

When that is the case, calling this->K::function_object() might be a call
to a constructor in the base traits class. Thus, the functor members
of Reg_traits_adaptors get initialized to temporaries, which is problematic
because these temporaries are at a much lower scope and thus are quickly
cleaned, leaving us with references to nothing in Reg_traits_adaptor.
2017-05-22 11:27:02 +02:00
Mael Rouxel-Labbé 729c054871 Do not provide Bare_point overloads in Regular_triangulation 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 5833272bd0 Fixed usage of Bare point and Weighted point across Triangulation_3 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé e041870954 Trimmed Regular triangulation euclidean traits
-- Code added as consequence of disabling implicit conversion between points and
   weighted points implies that defining
     typedef weighted_point point;
   creates ambiguous functors.

   This typedef is nevertheless still used, in Weighted_point_mappers.

-- The traits are not supposed to define Bare_point
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 4f81c8c794 Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé ea14f683d7 Cleaned #if 0 code 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 62b90dd86b Fixed hide_point()
Hide weighted points since they can be re-inserted afterwards
2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé 83ab007236 Fixed initialization order warning 2017-05-22 11:20:45 +02:00
Sébastien Loriot 51bc69cca3 version without partial specialization
the norms says that partial specialization should be
done in a namespace (not inside a class)
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 81ae80c465 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-05-22 11:20:45 +02:00
Andreas Fabri c6f741c379 Changes after making Weighted_point_3(const Point_3) explicit 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
Andreas Fabri ea5f9934e2 The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-05-22 11:20:45 +02:00
Mael Rouxel-Labbé aaed0f6737 Fixed using default templated member functions 2017-05-16 17:49:32 +02:00
Mael Rouxel-Labbé 91c35808f9 Fixed using default templated member functions 2017-05-16 17:49:32 +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é dbc98ac410 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
Andreas Fabri 40d6a3e68a Change comment to avoid warning 2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé 266775bafa Silenced depreciation warnings from Regular_triangulation_euclidean_traits_23 2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé cd2a562ffa Fixed improper guards against the inclusion of deprecated headers 2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé c353f0f49c Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits 2017-05-16 10:17:41 +02:00
Mael Rouxel-Labbé d07976b2ac All triangulations now use Perturbation_order in tests using symbolic perturbations 2017-05-15 17:13:38 +02:00
Mael Rouxel-Labbé de3874f1ef All triangulations now use Perturbation_order in tests using symbolic perturbations 2017-05-15 17:13:38 +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é 01b2d61493 (Re)-added the unhide_point() function that is required for P3T3 2017-05-12 17:08:36 +02:00
Mael Rouxel-Labbé 23bd6c65ea (Re)-added the unhide_point() function that is required for P3T3 2017-05-12 17:08:36 +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é b88bee84b2 Fixed using default templated class functions 2017-05-12 12:23:49 +02:00
Mael Rouxel-Labbé 9f865e87bb Fixed wrong template type (which induced taking references of references) 2017-05-12 12:21:39 +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é 37fad1a242 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é 13d8a6879f Changed boost/core/enable_if.hpp to boost/utility/enable_if.hpp 2017-05-11 14:25:18 +02:00
Mael Rouxel-Labbé f2a308d9f1 Fixed regular cell bases so they actually model the concept
Also, they should not use Bare_point / Weighted_point types, which are defined
in the triangulation (much later during compilation).
2017-05-10 16:35:28 +02:00
Mael Rouxel-Labbé 46b489b2b5 Fixed Has_nested_type_Bare_point includes 2017-05-10 12:33:43 +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
Mael Rouxel-Labbé be441f8dd1 Removed an ugly static_cast 2017-05-01 16:15:40 +02:00
Mael Rouxel-Labbé 169d0be212 Misc minor changes 2017-05-01 16:15:31 +02:00
Mael Rouxel-Labbé d6576d1857 Use boost::function_property_map to apply spatial_sort to weighted points 2017-05-01 16:14:57 +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é 5e9bad8e5d Avoid copies by using result_of in boost::bind() return type
Copies were previously done on purpose to go around the Lazy kernel, but this
can be done without copies (for all kernels) by using result_of.
2017-04-28 17:30:37 +02:00
Mael Rouxel-Labbé 37d7d0ab2e Removed obsolete file: Regular_traits_adaptor.h 2017-04-28 17:26:19 +02:00
Mael Rouxel-Labbé 2e78fee32e Removed useless include 2017-04-28 17:24:44 +02:00
Mael Rouxel-Labbé 31f82720e8 Reorganized Regular_triangulation_3 dual functions 2017-04-28 15:00:29 +02:00
Mael Rouxel-Labbé fe3c728a42 Copy boost::bind return object
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-04-28 14:38:27 +02:00
Mael Rouxel-Labbé 88f97d2974 Renamed Regular_triangulation base typedef (Base > Tr_Base) 2017-04-27 16:31:35 +02:00
Mael Rouxel-Labbé 3681ec4460 Removed useless construct_point_3
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-04-27 16:13:48 +02:00
Mael Rouxel-Labbé 4c96e75a8d Comparison result should be of type Comparison_result
(it worked anyway since Comparison_result is a Sign internally)
2017-04-27 14:23:41 +02:00
Mael Rouxel-Labbé 863a223860 Fixed compilation of add_temporary_points_on_far_sphere() 2017-04-27 14:01:58 +02:00
Mael Rouxel-Labbé 2a06660a2b Adapted the call to spatial_sort() to handle weighted points
Downside: we copy points at each comparison, which is terrible! No noticeable
changes when profiling the construction of a triangulation.

We need this copy because of Lazy kernel: despite construct_point_3 having
const Point_3& construct_point_3_object()(const Point_3&)
the Lazy kernel can return some copies.

Other solutions that were not used:
-- Distinguish the Ouput type of Unary_function_to_property map depending on
   the type of Kernel (ugly and not safe)
-- Use Weighted_point_mappers traits (but that blood will not be on my hands)
2017-04-27 13:56:01 +02:00
Mael Rouxel-Labbé 9651371c6f Adapted sorting algorithms based on compare_xyz to handle weighted point vectors 2017-04-27 13:52:20 +02:00
Mael Rouxel-Labbé 7108383498 Construct_plane() must use bare points arguments 2017-04-27 12:03:47 +02:00
Mael Rouxel-Labbé d9666bd342 Removed hiding-related functions from Triangulation_cell_base_3
Triangulation_cell_base_3 cannot be used anymore as a cell base of a regular
triangulation and thus there is no point keeping these functions.

People wishing to disable caching of hidden points in regular triangulations
should use the new policy, see commit b92528171c)
2017-04-27 11:50:54 +02:00
Mael Rouxel-Labbé b92528171c Added a template parameter to Regular_tr_cell_base on hidden points handling
Before WP<->P implicit conversion changes, one could choose to not keep hidden
points by using `Triangulation_cell_base_3` as cell base instead of
`Regular_triangulation_cell_base_3`. This is not possible anymore as point types
will conflict.

This changes introduces a new template parameter to pass a policy on whether
to keep or discard hidden points.

It is a breaking change since it is placed before the container template
parameter, but it makes more sense that way and the container type template
was not documented.
2017-04-27 11:42:34 +02:00
Mael Rouxel-Labbé 450c78e814 Removed Weighted_point_mapper_3 and RegTraits_3 shenanigans
There is no need anymore for sneaky traits adaptors to make Triangulation_3
a compatible base of Regular_triangulation_3:
- The Point type in Triangulation_3 is obtained through TDS::Vertex::Point (see
  commit 13d5e89)
- Triangulation_3 always ensures that we are passing bare points to the kernel
  functors that require bare point arguments (see commit db5da73)

This greatly clarifies the code of Regular_triangulation_3: there is only a
single traits type, a single base type, etc.
2017-04-27 08:44:32 +02:00
Mael Rouxel-Labbé db5da73483 Ensured that we call kernel functions with the correct (bare) point type
Note that if the type `Point` is already `Point_3`, Construct_point_3 does not
do anything (except in the lazy kernel, but in that case, the running time is
horrible anyway).
2017-04-27 00:25:12 +02:00
Mael Rouxel-Labbé 13d5e895ac Deduce Triangulation_3's point type from the TDS
Since we have a distinc vertex_base for regular triangulations and that this
regular vertex base defines a type Point, it is redundant to get the Point
type from the Geom_traits.

This also allows to remove the Weighted_point_mapper trick, and pass more easily
custom point types.
2017-04-27 00:21:47 +02:00
Mael Rouxel-Labbé ac63b66286 Fixed Regular_traits_adaptor
The functor members cannot be references because the Regular_triangulation
might be templated by a traits class that is not simply a Kernel (that is
the case in the package Interpolation).

When that is the case, calling this->K::function_object() might be a call
to a constructor in the base traits class. Thus, the functor members
of Reg_traits_adaptors get initialized to temporaries, which is problematic
because these temporaries are at a much lower scope and thus are quickly
cleaned, leaving us with references to nothing in Reg_traits_adaptor.
2017-04-18 15:16:43 +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é f1c1cd26c4 Do not provide Bare_point overloads in Regular_triangulation 2017-04-14 16:49:50 +02:00
Mael Rouxel-Labbé 5856c7de2b Fixed usage of Bare point and Weighted point across Triangulation_3 2017-04-14 16:48:31 +02:00
Mael Rouxel-Labbé 3c9063cd88 Trimmed Regular triangulation euclidean traits
-- Code added as consequence of disabling implicit conversion between points and
   weighted points implies that defining
     typedef weighted_point point;
   creates ambiguous functors.

   This typedef is nevertheless still used, in Weighted_point_mappers.

-- The traits are not supposed to define Bare_point
2017-04-14 15:39:30 +02:00
Mael Rouxel-Labbé 863584e863 Added CGAL_NO_DEPRECATED_CODE macros to Regular_triangulation_euclidean_traits 2017-04-14 10:59:42 +02:00
Mael Rouxel-Labbé 2b8684c874 Cleaned #if 0 code 2017-04-12 15:06:03 +02:00
Mael Rouxel-Labbé 2c79d6e939 Fixed hide_point()
Hide weighted points since they can be re-inserted afterwards
2017-04-11 17:04:34 +02:00
Mael Rouxel-Labbé 77c83642f2 Fixed initialization order warning 2017-04-11 17:04:03 +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
Mael Rouxel-Labbé 9a41173936 Added documentation for Robust_weighted_circumcenter_filtered_traits_3 2017-03-28 13:32:12 +02:00
Mael Rouxel-Labbé b966dea483 Added documentation for Robust_weighted_circumcenter_filtered_traits_3 2017-03-28 13:32:12 +02:00
Clement Jamin 6ea82bbe2a Unnecessary double "if" blocks 2017-03-09 17:46:46 +01:00
Sébastien Loriot ac0dfe3465 version without partial specialization
the norms says that partial specialization should be
done in a namespace (not inside a class)
2017-03-06 12:10:24 +01:00
Jane Tournois 30fe153651 remove hybrid operators, that use Bare points and Weighted points in an ambiguous manner
this commit only fixes the testsuite of Mesh_3
2017-03-03 12:14:30 +01:00
Andreas Fabri 741838b9c4 WIP: test_meshing_polyhedron_with_features compiles and crashes in odt 2017-03-02 15:51:41 +01:00
Andreas Fabri 30b7f131d7 Changes after making Weighted_point_3(const Point_3) explicit 2017-02-17 16:38:39 +01:00
Laurent Rineau c55e391f97 WIP: works with one thread 2017-02-17 16:37:11 +01:00
Andreas Fabri 4922f9e86d Disable Point_3(const Weighted_point_3&) 2017-02-15 14:33:31 +01:00
Mael Rouxel-Labbé 45241b92a2 Moved Robust weighted filtered circumcenter traits out of Mesh_3
Also, these traits do not derive from Regular_euclidean_traits anymore.
2017-02-13 18:13:19 +01:00
Mael Rouxel-Labbé f63f0b801e Moved Robust weighted filtered circumcenter traits out of Mesh_3
Also, these traits do not derive from Regular_euclidean_traits anymore.
2017-02-13 18:13:19 +01:00
Andreas Fabri 2fab595c19 The Weighted_point_mapper becomes a traits class; test_regular_3.cpp passes 2017-02-08 16:24:14 +01:00
Mael Rouxel-Labbé a77272be94 Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-02-03 16:52:51 +01:00
Mael Rouxel-Labbé e9398450ab Merge branch 'Periodic_3_Regular_triangulation_3-APelle-old' into Periodic_3_Regular_triangulation_3-APelle 2017-02-03 16:52:51 +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 fe5e925367 Merge pull request #1701 from afabri/Convex_hull_3-FaceGraph-GF
Convex_hull_3: Switch to FaceGraph
2016-12-30 15:14:34 +01:00
Laurent Rineau bbf430b0b1 Merge pull request #585 from afabri/Kernel-Weighted_point-GF
Introduce Kernel::Weighted_point_3 together with functors
2016-12-20 19:52:02 +01:00
Andreas Fabri 9ee11501ac Changes after the review by Sebastien 2016-11-30 10:03:00 +01:00
Guillaume Damiand 12328929b2 Update LCC tests: now they are done both for CMap and GMap. 2016-11-29 11:43:38 +01:00
Guillaume Damiand 2ab268965f LCC for CMap and GMap; incremental builder; save and load; test. 2016-11-29 11:43:36 +01:00
Andreas Fabri 38f799e82b star -> link 2016-11-26 10:49:02 +01:00
Andreas Fabri 683490b2aa star -> link 2016-11-26 10:46:54 +01:00
Andreas Fabri e5e0cdd5f9 fix a typedef 2016-11-22 17:48:53 +01:00
Andreas Fabri 2a27d4ff38 Fix the Vertex_remover 2016-11-22 16:03:13 +01:00
Andreas Fabri e26e60dd6c Add Default to Convex_hull_graph_traits_3; BGLize some code 2016-11-22 12:27:18 +01:00
Andreas Fabri af1cc4058a fixes 2016-11-21 18:39:05 +01:00
Andreas Fabri 4d4db0cd70 Move star_to_face_graph() to Triangulation_3 2016-11-21 17:51:41 +01:00
Andreas Fabri b978fa8fdd Fix the typedef for the Bare_point 2016-11-21 15:49:43 +01:00
Andreas Fabri d35c6c913d Use Weighted_point_mapper_3 2016-11-21 15:33:27 +01:00
Andreas Fabri 4ab59919e6 Use Regular_triangulation_vertex_base_3 2016-11-20 19:06:08 +01:00
Andreas Fabri 310845f01e Add class Regular_triangulation_vertex_base_3 2016-11-19 11:07:52 +01:00
Andreas Fabri 64832a0d1d Change template parameter: K -> K_ to help VC++ 2016-11-19 08:22:30 +01:00
Laurent Rineau 2835e361c8 Fix the constructors of RT euclidian traits class
@janetournois @afabri

That commit will fix both runtime errors in Interpolation and
compilation errors in KDS:

  - in Interpolation, the traits class carries a normal vector: it needs
  to be passed to the RT traits class as well,

  - Same in KDS: the compilation error was saying that the constructor
    of RT_euclidian_traits_3 must initialize it base class.
2016-11-18 17:55:05 +01:00
Laurent Rineau 57f0b33eb6 Fix Alpha_shapes_3
Alpha_shapes_3 needs to know a lot about its template parameter `Dt`. To
simplify the code, I have chosen to make the typedef `Tr_Base` public in
3D Delaunay and Regular triangulations.
2016-11-18 17:36:50 +01:00
Jane Tournois 3b5e069325 add constructors to Regular_triangulation_euclidean_traits_3,
and fix constructors from Regular_triangulation_3

Revert "introduce Has_nested_type_Bare_point to keep backward compatible"

This reverts part of the commit 98b43b1a49fb2dfb3baee0a532bf5d097f2f4ebd.
2016-11-03 14:57:10 +01:00
Jane Tournois 0f569a8fd6 introduce Has_nested_type_Bare_point to keep backward compatible
it is needed when Regular_triangulation_euclidean_traits is used the first
template parameter for Regular_triangulation (both 2d and 3d)
2016-11-03 14:57:10 +01:00
Laurent Rineau 3353d4d64d Kernel now refines RegularTriangulationTraits_3
ie all CGAL kernels are now models of `RegularTriangulationTraits_3`.
2016-11-03 14:55:39 +01:00
Jane Tournois 306323d45c make doc and doc consistent
- add "model of Concept" as much as possible in the modified classes/concepts
- fix some links
- update package description of Kernel_23
2016-11-03 14:55:39 +01:00
Jane Tournois 6af2db1b91 Use Power_side_of_bounded_power_sphere instead of Side_of_bounded_orthogonal_sphere
both functors made the same computation, up the sign of the result.

The return type now is CGAL::Bounded_side, which makes things easier
 to understand and use
2016-11-03 14:55:39 +01:00
Andreas Fabri dbb2cc3598 Sign -> Bounded_side; typo in code 2016-11-03 14:53:54 +01:00
Andreas Fabri ad9d2c369c Rename tests following Olivier's recommendations 2016-11-03 14:53:54 +01:00
Jane Tournois 4bcd272a99 compute dual only after infinity test has been performed 2016-11-03 13:10:27 +01:00
Andreas Fabri ea50fb811d Cleanup. The 2D and 3D triangulation testsuite pass 2016-11-03 13:07:50 +01:00
Andreas Fabri 9e94ee6178 Change the Power_test 2016-11-03 13:07:17 +01:00
Andreas Fabri 1375cd5c0a Rename Compute_critical_squared_radius_3 to Compute_power_distance_to_power_sphere_3 2016-11-03 13:07:17 +01:00
Andreas Fabri 34eb29cac5 Documentation 2016-11-03 13:07:17 +01:00
Andreas Fabri 871471b2d8 Remove Weighted_point_triangulation_traits_3 2016-11-03 13:07:17 +01:00
Andreas Fabri ea6e48e1e4 Don't use the internal traits adapter 2016-11-03 13:07:17 +01:00
Andreas Fabri 5edd015669 Use Weighted_point_triangulation_traits_3 2016-11-03 13:06:42 +01:00
Andreas Fabri 10d9d28d1b Add Weighted_point_triangulation_traits_3 2016-11-03 13:06:02 +01:00
Andreas Fabri 2d15b06d5e Remove #ifdef 0 from debugging 2016-11-03 13:06:02 +01:00
Andreas Fabri 42435c2d21 Simplify the use of static filters for Regular triangulations 2016-11-03 13:06:02 +01:00
Andreas Fabri d0a7c9574c Simplify the use of static filters for Regular triangulations 2016-11-03 13:06:02 +01:00
Andreas Fabri 6a8f77c5ff Added CGAL::Weighted_point_3<K> and the predicates and constructions of the Regular Traits to the kernel
- The Regular 3 testsuite passes
- only 3D
- not documented
2016-11-03 13:04:43 +01:00
Guillaume Damiand 2fbce8a8db Remove spaces. 2016-10-06 08:26:16 -04:00
Guillaume Damiand 7620635cfe * Bugfix in correct_invalid_attributes in LCC
* Remove deprecated code in LCC (that should be removed for CGAL 4.9)
2016-10-06 08:19:04 -04:00
Laurent Rineau 3fac1b31f0 Fix typos (and compilation errors!) 2016-10-03 12:12:46 +02:00
Andreas Fabri cf8c1a6cdf Dispatch import functions to Polyhedron, T2, T3 2016-09-30 15:23:15 +02:00
Andreas Fabri 91c6426ae2 Move info_check from T3 to T2 2016-09-30 15:22:28 +02:00
Andreas Fabri 21ad968457 Fix package Triangulation_3: Add #include 2016-09-30 15:22:27 +02:00
Clement Jamin fa6ecf39be Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse 2016-09-09 12:55:43 +02:00
Sébastien Loriot 7f3772a50b replace the usage of raw pointer as property map
It was deprecated in boost 1.55
http://www.boost.org/users/history/version_1_55_0.html
2016-07-13 13:53:00 +02:00
Clement Jamin 9487c71ad1 Merge branch 'Triangulation-add_regular_tri-cjamin_mglisse-old' into Triangulation-add_regular_tri-cjamin_mglisse 2016-05-18 19:41:22 +02:00
Laurent Rineau 1f5fb012ba Merge pull request #1015 from afabri/Mesh_3-accelerations-GF
Accelerate vertex removal in a 3D triangulation and saving a mesh
2016-04-22 15:24:06 +02:00
Andreas Fabri abd9bfb125 std::map -> boost::unordered_map 2016-04-15 20:54:51 +02:00