Commit Graph

72920 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 08da170d1b Improved Alpha shapes 2 examples
-- Added a weighted point data set
-- Readability (indentation, typedefs, etc.)
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé a9a016a5c0 Fixed not getting Alpha shapes 2 predicates and constructions from Lazy alpha NT 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 8cdcdf90c0 Changed some template parameters to work with 1b75558 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé cd42867fc9 Changed the weights of points in examples/tests of weighted alpha shapes 2
Non-uniform is better
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 4b05448ddf Modified alpha_shapes_2's Vb and Fb to work with the Lazy_alpha_nt modifs
from commit 1b75558
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 03b4847378 Fixed Lazy_alpha_NT_2
-- Aligned with the improvements that exist in Alpha_shapes_3
-- Actually define proper overloads for side_of_bounded_circle for weighted
   points (was broken)
-- Minor stuff
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 0ac5f1c7f0 Do not use the obsolete and useless class Weighted_alpha_shape_euclidean_traits_2 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 3292753f48 Use Kernel_traits<Traits::Pt> to deduce the kernel rather than Traits::Kernel 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 637c046f91 AG's vertex base must define a Point type to be a model of the Vertex base concept 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 18e854e95f Triangulation_2 test traits must define Construct_point_2 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé f54ec34d1a Projection traits must define Construct_point_2 and Construct_weighted_point_2 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé be154515fc Fixed point type in the line face circulator 2 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 0181e353dd Changed some output from french to english 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé a45325a20e Fixed Triangulation_2's spatial_sorts on weighted points 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 50670b1303 Triangulation_2's point type is deduced from the TDS::Vb, not from the traits 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 3a48794d5c Removed obsolete Weighted_point_mapper trick for Regular_triangulation_2 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé a54d9c9148 Removed useless class Regular_traits_adaptor_2.h 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé ec9c8e6d8b Periodic construct_point_2 must have access to the base construct_point_2 operator() 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé a42cde8431 Removed an ugly static_cast 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 2130ba057e Misc minor changes 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé da8f194b20 Use boost::function_property_map to apply spatial_sort to weighted points 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 5ddf953b69 Revert "Added the Unary_function_to_property_map property map"
This reverts commit 1913b94ebe.

This property map actually already exists with almost exactly the same
implementation in boost, as boost::function_property_map...
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé dea58ffe38 Fixed various Bare_point / Weighted_point usage across Mesh_3
Hopefully, this is the last batch
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé c3b8870b5b Moved facet dual computation functions from Mesh_3 to Regular_triangulation_3
... and improved them and gave them more overloads
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 6e8de5d6d3 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-08 13:23:10 +02:00
Mael Rouxel-Labbé 799db0cc7c Removed obsolete file: Regular_traits_adaptor.h 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 550793cca9 Removed useless include 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé e4f17b2ff5 Reorganized Regular_triangulation_3 dual functions 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé b669bb2d13 Copy boost::bind return object
The lazy kernel returns temporaries and gives garbage to compare_xyz_3...
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 88577013a0 Avoided a default traits construction 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 0709641a4c Periodic_3 construct point 3 needs access to its base operator() 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 192821fe85 Periodic_3 remove traits must overwrite construct_point_3() 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 07bbe7fa0a Removed Regular_triangulation_euclidean_traits_3 usage in Lazy_alpha_nt_3
Regular_triangulation_euclidean_traits are deprecated (and do not do anything).
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé a79e3c3e8a Fixed some Bare_point / Weighted_point typedefs in Alpha_shapes_3
The triangulation defines those types, not the traits
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé fd0108697c Made some typedefs readable for people without a 30" screen (no real changes) 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé fb62429904 Fixed test_fixed_alpha_shape_3 Point_3/Weighted_point_3 usage 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé e45be9e450 Fixed TDS in test of Alpha_shapes_3 (Regular_tr must use regular cell_base) 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 5981a4535b Renamed Regular_triangulation base typedef (Base > Tr_Base) 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 7e1fb62f9e Removed useless construct_point_3
Construct_weighted_circumcenter_3 already returns a Bare_point
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé ff52451690 Moved up the force_exact test to avoid computing useless determinants 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 53015e11a0 Comparison result should be of type Comparison_result
(it worked anyway since Comparison_result is a Sign internally)
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 82e6397f73 Fixed compilation of add_temporary_points_on_far_sphere() 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 40a7af0f30 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-08 13:23:10 +02:00
Mael Rouxel-Labbé 93b6e2659d Adapted sorting algorithms based on compare_xyz to handle weighted point vectors 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 936c0fceec Added the Unary_function_to_property_map property map
It is the opposite of Property_map_to_unary_function and allows to make
a property map out of a unary function: get(k) = f(k)
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 091ca81d28 Construct_plane() must use bare points arguments 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 672b7e13e7 Fixed point typedef in Tr_3/benchmarks 2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé ad3e388aa1 Fixed Triangulation_benchmark_3.cpp
-- Fix Weighted_point_3 / Point_3 incompatibilities
-- Generator of weighted points also generates random weights
-- Do not use Regular_euclidean_triangulation_traits since they are deprecated
-- Do not use 'using namespace'
-- Use the new policy tag to disable hidden point caching (see b925281)
-- Remove unused objects (such as pts2_bbox)
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé e62fa89355 Fixed test_RT_cell_base_with_weigh... and added it to the CMakeLists
-Some wrong Bare_point/Weighted_point usage
-Fully instantiate the Regular_triangulation_cell_base_with_weighted_circum...
 with all the template parameters of the regular cell base
2017-06-08 13:23:10 +02:00
Mael Rouxel-Labbé 8f2a8b4422 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-08 13:23:10 +02:00