diff --git a/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h b/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h index ba6fef55ed5..b6113ea14f3 100644 --- a/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h +++ b/Partition_2/doc/Partition_2/CGAL/Partition_traits_2.h @@ -83,15 +83,11 @@ typedef R::Collinear_are_ordered_along_line_2 Collinear_are_ordered_along_line_2 */ typedef R::Are_strictly_ordered_along_line_2 Are_strictly_ordered_along_line_2; -/*! - -*/ -typedef CGAL::Polygon_traits_2 Poly_Traits; /*! */ -typedef Poly_Traits::Point_2 Point_2; +typedef R::Point_2 Point_2; /*! @@ -101,7 +97,7 @@ typedef std::list Container; /*! */ -typedef CGAL::Polygon_2 Polygon_2; +typedef CGAL::Polygon_2 Polygon_2; /*! diff --git a/Partition_2/examples/Partition_2/y_monotone_partition_indices_2.cpp b/Partition_2/examples/Partition_2/y_monotone_partition_indices_2.cpp index 2036f194b8d..fe3cf534efe 100644 --- a/Partition_2/examples/Partition_2/y_monotone_partition_indices_2.cpp +++ b/Partition_2/examples/Partition_2/y_monotone_partition_indices_2.cpp @@ -54,12 +54,11 @@ int main( ) } std::cout << std::endl; } - + assert(CGAL::partition_is_valid_2(polygon.vertices_begin(), polygon.vertices_end(), partition_polys.begin(), partition_polys.end(), traits)); - return 0; } diff --git a/Partition_2/include/CGAL/Partition_2/Partition_vertex_map.h b/Partition_2/include/CGAL/Partition_2/Partition_vertex_map.h index cead0f87e9f..7990b51b94b 100644 --- a/Partition_2/include/CGAL/Partition_2/Partition_vertex_map.h +++ b/Partition_2/include/CGAL/Partition_2/Partition_vertex_map.h @@ -84,7 +84,7 @@ public: } private: - Traits_ traits; + const Traits_& traits; }; template @@ -321,7 +321,7 @@ public: } private : - Traits traits; + const Traits& traits; List m_list ; }; @@ -532,7 +532,7 @@ private : } private : - Traits traits; + const Traits& traits; Map m_map ; }; diff --git a/Partition_2/include/CGAL/Partition_2/Partitioned_polygon_2.h b/Partition_2/include/CGAL/Partition_2/Partitioned_polygon_2.h index fe2c9404433..50e21dd30e9 100644 --- a/Partition_2/include/CGAL/Partition_2/Partitioned_polygon_2.h +++ b/Partition_2/include/CGAL/Partition_2/Partitioned_polygon_2.h @@ -290,7 +290,7 @@ private: } Left_turn_2 _left_turn; - Traits traits; + const Traits& traits; }; template diff --git a/Partition_2/include/CGAL/Partition_is_valid_traits_2.h b/Partition_2/include/CGAL/Partition_is_valid_traits_2.h index b4c43eb8898..5d33a116b03 100644 --- a/Partition_2/include/CGAL/Partition_is_valid_traits_2.h +++ b/Partition_2/include/CGAL/Partition_is_valid_traits_2.h @@ -41,11 +41,11 @@ public: Partition_is_valid_traits_2() {} - + Partition_is_valid_traits_2(const Traits& traits) : Traits(traits) {} - +public: Is_valid is_valid_object(const Traits& traits) const { return Is_valid(traits); } diff --git a/Partition_2/include/CGAL/Partition_traits_adapter_2.h b/Partition_2/include/CGAL/Partition_traits_adapter_2.h index d4b79c96959..da3b7d77677 100644 --- a/Partition_2/include/CGAL/Partition_traits_adapter_2.h +++ b/Partition_2/include/CGAL/Partition_traits_adapter_2.h @@ -42,6 +42,7 @@ private: typedef Partition_traits_adapter_2 Self; PointPropertyMap ppmap; + public: Partition_traits_adapter_2(const Base_traits& base=Base_traits()) @@ -68,11 +69,11 @@ public: const PointPropertyMap& ppmap; - typename BaseFct::result_type operator()(Arg_type p, Arg_type q) const { + typename BaseFct::result_type operator()(const Arg_type& p, const Arg_type& q) const { return static_cast(this)->operator()(get(ppmap,p),get(ppmap,q)); } - typename BaseFct::result_type operator()(Arg_type p, Arg_type q, Arg_type r) const { + typename BaseFct::result_type operator()(const Arg_type& p, const Arg_type& q, const Arg_type& r) const { return static_cast(this)->operator()(get(ppmap,p),get(ppmap,q),get(ppmap,r)); } }; @@ -91,12 +92,6 @@ public: - typename K::Collinear_are_ordered_along_line_2::result_type - operator()(Arg_type p, Arg_type q, const typename K::Point_2& r) const - { - return fct(p.first, q.first, r); - } - typename K::Collinear_are_ordered_along_line_2::result_type operator()(Arg_type p, Arg_type q, Arg_type r) const { diff --git a/Partition_2/include/CGAL/polygon_function_objects.h b/Partition_2/include/CGAL/polygon_function_objects.h index 2de918623c6..b48ed8b70b2 100644 --- a/Partition_2/include/CGAL/polygon_function_objects.h +++ b/Partition_2/include/CGAL/polygon_function_objects.h @@ -47,28 +47,28 @@ template class Is_convex_2 { public: - Is_convex_2(Traits t): traits(t) {} + Is_convex_2(const Traits& t): traits(t) {} template bool operator()(ForwardIterator first, ForwardIterator last) { return is_convex_2(first, last, traits); } private: - Traits traits; + const Traits& traits; }; template class Is_y_monotone_2 { public: - Is_y_monotone_2(Traits t): traits(t) {} + Is_y_monotone_2(const Traits& t): traits(t) {} template bool operator()(ForwardIterator first, ForwardIterator last) { return is_y_monotone_2(first, last, traits); } private: - Traits traits; + const Traits& traits; }; } diff --git a/Polygon/include/CGAL/Polygon_2.h b/Polygon/include/CGAL/Polygon_2.h index deb45c86b89..612c4c1e945 100644 --- a/Polygon/include/CGAL/Polygon_2.h +++ b/Polygon/include/CGAL/Polygon_2.h @@ -147,7 +147,9 @@ class Polygon_2 { /// @{ /// Creates an empty polygon. - Polygon_2(const Traits & p_traits = Traits()) : traits(p_traits) {} + Polygon_2() : traits() {} + + Polygon_2(const Traits & p_traits) : traits(p_traits) {} /// Copy constructor. Polygon_2(const Polygon_2& polygon)