From 66437517c9f53ad1f550ea25b9200e37ed030590 Mon Sep 17 00:00:00 2001 From: Andreas Fabri Date: Thu, 11 Apr 2019 10:54:00 +0200 Subject: [PATCH] cleanup --- .../doc/Partition_2/CGAL/partition_2.h | 6 +- .../Concepts/YMonotonePartitionTraits_2.h | 89 ------------------- .../doc/Partition_2/PackageDescription.txt | 1 - .../CGAL/Partition_2/Indirect_edge_compare.h | 24 ++--- .../Partition_2/Vertex_visibility_graph_2.h | 3 - Partition_2/include/CGAL/Partition_traits_2.h | 33 ------- .../include/CGAL/Partition_traits_adapter_2.h | 50 +---------- 7 files changed, 16 insertions(+), 190 deletions(-) delete mode 100644 Partition_2/doc/Partition_2/Concepts/YMonotonePartitionTraits_2.h diff --git a/Partition_2/doc/Partition_2/CGAL/partition_2.h b/Partition_2/doc/Partition_2/CGAL/partition_2.h index d09b2bff7c7..22b3d66299b 100644 --- a/Partition_2/doc/Partition_2/CGAL/partition_2.h +++ b/Partition_2/doc/Partition_2/CGAL/partition_2.h @@ -88,8 +88,7 @@ the resulting sequence of polygons is returned. \cgalHeading{Requirements}
    -
  1. `Traits` is a model of the concepts `PartitionTraits_2` -and `YMonotonePartitionTraits_2`. +
  2. `Traits` is a model of the concepts `PartitionTraits_2`. For the purpose of checking the validity of the \f$ y\f$-monotone partition produced as a preprocessing step for the convex partitioning, it must also @@ -232,8 +231,7 @@ the resulting sequence of polygons is returned. \cgalHeading{Requirements}
      -
    1. `Traits` is a model of the concept -`YMonotonePartitionTraits_2` +
    2. `Traits` is a model of the concept `PartitionTraits_2` and, for the purposes of checking the postcondition that the partition is valid, it should also be a model of `YMonotonePartitionIsValidTraits_2`. diff --git a/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionTraits_2.h b/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionTraits_2.h deleted file mode 100644 index cc4fb20a81c..00000000000 --- a/Partition_2/doc/Partition_2/Concepts/YMonotonePartitionTraits_2.h +++ /dev/null @@ -1,89 +0,0 @@ -/*! -\ingroup PkgPartition2Concepts -\cgalConcept - -Requirements of a traits class to be -used with the function `y_monotone_partition_2()`. - -\cgalRefines `PartitionTraits_2` - -\cgalHasModel `CGAL::Partition_traits_2` - -*/ - -class YMonotonePartitionTraits_2 { -public: - -/// \name Types -/// In addition to the types defined for the concept `PartitionTraits_2`, the following types are also required: -/// @{ - -/*! - -*/ -typedef unspecified_type Line_2; - -/*! -Predicate object type that provides -`CGAL::Comparision_result operator()(Point_2 p, Line_2 h)` to compare -the \f$ x\f$ coordinate of `p` and the horizontal projection of `p` -on `h`. -*/ -typedef unspecified_type Compare_x_at_y_2; - -/*! -Function object type that provides -`Line_2 operator()(Point_2 p, Point_2 q)`, which constructs and -returns the line defined by the points \f$ p\f$ and \f$ q\f$. -*/ -typedef unspecified_type Construct_line_2; - -/*! -Function object type that provides -`bool operator()(Line_2 l)`, which returns `true` iff the -line `l` is horizontal. -*/ -typedef unspecified_type Is_horizontal_2; - -/// @} - -/// \name Creation -/// A copy constructor and default constructor are required. -/// @{ - -/*! - -*/ -YMonotonePartitionTraits(); - -/*! - -*/ -YMonotonePartitionTraits(const YMonotonePartitionTraits tr); - -/// @} - -/// \name Operations -/// In addition to the functions required for the concept -/// `PartitionTraits_2`, the following functions that create instances -/// of the above function object types must exist. -/// @{ - -/*! - -*/ -Construct_line_2 construct_line_2_object(); - -/*! - -*/ -Compare_x_at_y_2 compare_x_at_y_2_object(); - -/*! - -*/ -Is_horizontal_2 is_horizontal_2_object(); - -/// @} - -}; /* end YMonotonePartitionTraits_2 */ diff --git a/Partition_2/doc/Partition_2/PackageDescription.txt b/Partition_2/doc/Partition_2/PackageDescription.txt index 82d33044ba7..46bc0f5f583 100644 --- a/Partition_2/doc/Partition_2/PackageDescription.txt +++ b/Partition_2/doc/Partition_2/PackageDescription.txt @@ -75,7 +75,6 @@ original polygon). - `PartitionTraits_2` - `PartitionIsValidTraits_2` - `YMonotonePartitionIsValidTraits_2` -- `YMonotonePartitionTraits_2` \cgalCRPSection{Function Object Concepts} - `PolygonIsValid` diff --git a/Partition_2/include/CGAL/Partition_2/Indirect_edge_compare.h b/Partition_2/include/CGAL/Partition_2/Indirect_edge_compare.h index 17e9a755e9c..8f208166543 100644 --- a/Partition_2/include/CGAL/Partition_2/Indirect_edge_compare.h +++ b/Partition_2/include/CGAL/Partition_2/Indirect_edge_compare.h @@ -40,16 +40,16 @@ class Indirect_edge_compare typedef typename Traits::Orientation_2 Orientation_2; typedef typename Traits::Compare_y_2 Compare_y_2; typedef typename Traits::Compare_x_2 Compare_x_2; - typedef typename Traits::Construct_line_2 Construct_line_2; - typedef typename Traits::Compare_x_at_y_2 Compare_x_at_y_2; - typedef typename Traits::Line_2 Line_2; + // typedef typename Traits::Construct_line_2 Construct_line_2; + // typedef typename Traits::Compare_x_at_y_2 Compare_x_at_y_2; + // typedef typename Traits::Line_2 Line_2; typedef typename Traits::Point_2 Point_2; Indirect_edge_compare(const Traits& traits) : _compare_y_2(traits.compare_y_2_object()), - _compare_x_2(traits.compare_x_2_object()), - _construct_line_2(traits.construct_line_2_object()), - _compare_x_at_y_2(traits.compare_x_at_y_2_object()) + _compare_x_2(traits.compare_x_2_object()) + // _construct_line_2(traits.construct_line_2_object()), + //_compare_x_at_y_2(traits.compare_x_at_y_2_object()) { } // determines if the edge (edge_vtx_1, edge_vtx_1++) has a larger @@ -72,7 +72,7 @@ class Indirect_edge_compare else { // construct supporting line for edge - Line_2 line = _construct_line_2(Point_2(*edge_vtx_1), Point_2(*edge_vtx_2)); + // Line_2 line = _construct_line_2(Point_2(*edge_vtx_1), Point_2(*edge_vtx_2)); return compare_x_at_y(Point_2(*vertex), Point_2(*edge_vtx_1), Point_2(*edge_vtx_2)) == SMALLER; } } @@ -120,11 +120,11 @@ class Indirect_edge_compare // else neither endpoint is shared // construct supporting line - Line_2 l_p = _construct_line_2(Point_2(*p), Point_2(*after_p)); + // Line_2 l_p = _construct_line_2(Point_2(*p), Point_2(*after_p)); //if (_is_horizontal_2(l_p)) if(_compare_y_2(Point_2(*p), Point_2(*after_p)) == EQUAL) { - Line_2 l_q = _construct_line_2(Point_2(*q), Point_2(*after_q)); + // Line_2 l_q = _construct_line_2(Point_2(*q), Point_2(*after_q)); //if (_is_horizontal_2(l_q)) if(_compare_y_2(Point_2(*q), Point_2(*after_q)) == EQUAL) @@ -156,7 +156,7 @@ class Indirect_edge_compare return q_larger_x; // else one smaller and one larger // construct the other line - Line_2 l_q = _construct_line_2(Point_2(*q), Point_2(*after_q)); + // Line_2 l_q = _construct_line_2(Point_2(*q), Point_2(*after_q)); //if (_is_horizontal_2(l_q)) // p is not horizontal if(_compare_y_2(Point_2(*q), Point_2(*after_q)) == EQUAL) { @@ -169,8 +169,8 @@ class Indirect_edge_compare Orientation_2 _orientation_2; Compare_y_2 _compare_y_2; Compare_x_2 _compare_x_2; - Construct_line_2 _construct_line_2; - Compare_x_at_y_2 _compare_x_at_y_2; + // Construct_line_2 _construct_line_2; + // Compare_x_at_y_2 _compare_x_at_y_2; }; } diff --git a/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2.h b/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2.h index 906b4c952b4..c04757505b6 100644 --- a/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2.h +++ b/Partition_2/include/CGAL/Partition_2/Vertex_visibility_graph_2.h @@ -61,8 +61,6 @@ #include - -#include #include #include #include @@ -85,7 +83,6 @@ class Vertex_visibility_graph_2 private: typedef Vertex_visibility_graph_2 Self; typedef typename Traits::Point_2 Point_2; - typedef typename Traits::Segment_2 Segment_2; typedef typename Traits::Left_turn_2 Left_turn_2; typedef typename Traits::Less_xy_2 Less_xy_2; typedef typename Traits::Orientation_2 Orientation_2; diff --git a/Partition_2/include/CGAL/Partition_traits_2.h b/Partition_2/include/CGAL/Partition_traits_2.h index eae022b6fc6..56996d29d87 100644 --- a/Partition_2/include/CGAL/Partition_traits_2.h +++ b/Partition_2/include/CGAL/Partition_traits_2.h @@ -52,11 +52,6 @@ class Partition_traits_2 : public Partition_traits_2_base typedef CGAL::Is_convex_2 Is_convex_2; typedef CGAL::Is_y_monotone_2 Is_y_monotone_2; - // needed by Indirect_edge_compare, used in y_monotone and greene_approx - typedef typename Kernel::Line_2 Line_2; - typedef typename Kernel::Construct_line_2 Construct_line_2; - typedef typename Kernel::Compare_x_at_y_2 Compare_x_at_y_2; - typedef typename Kernel::Is_horizontal_2 Is_horizontal_2; // needed by visibility graph and thus by optimal convex typedef typename Kernel::Collinear_are_ordered_along_line_2 @@ -64,30 +59,6 @@ class Partition_traits_2 : public Partition_traits_2_base typedef typename Kernel::Are_strictly_ordered_along_line_2 Are_strictly_ordered_along_line_2; - // needed by approx_convex (for constrained triangulation) - // and optimal convex (for vis. graph) - typedef typename Kernel::Segment_2 Segment_2; - // needed by optimal convex (for vis. graph) - typedef typename Kernel::Construct_segment_2 Construct_segment_2; - typedef typename Kernel::Construct_ray_2 Construct_ray_2; - - - Construct_line_2 - construct_line_2_object() const - { return Construct_line_2(); } - - Compare_x_at_y_2 - compare_x_at_y_2_object() const - { return Compare_x_at_y_2(); } - - Construct_segment_2 - construct_segment_2_object() const - { return Construct_segment_2(); } - - Construct_ray_2 - construct_ray_2_object() const - { return Construct_ray_2(); } - Collinear_are_ordered_along_line_2 collinear_are_ordered_along_line_2_object() const { return Collinear_are_ordered_along_line_2(); } @@ -96,10 +67,6 @@ class Partition_traits_2 : public Partition_traits_2_base are_strictly_ordered_along_line_2_object() const { return Are_strictly_ordered_along_line_2(); } - Is_horizontal_2 - is_horizontal_2_object() const - { return Is_horizontal_2(); } - Is_convex_2 is_convex_2_object(const Self& traits) const { return Is_convex_2(traits); } diff --git a/Partition_2/include/CGAL/Partition_traits_adapter_2.h b/Partition_2/include/CGAL/Partition_traits_adapter_2.h index ede0b02b9eb..4c2257a750b 100644 --- a/Partition_2/include/CGAL/Partition_traits_adapter_2.h +++ b/Partition_2/include/CGAL/Partition_traits_adapter_2.h @@ -77,23 +77,6 @@ public: } }; - template - struct Pmap_compare_x_at_y_2 { - - PointPropertyMap ppmap; - typename K::Compare_x_at_y_2 fct; - - Pmap_compare_x_at_y_2(const PointPropertyMap& ppmap,typename K::Compare_x_at_y_2 fct) - : ppmap(ppmap), fct(fct) - {} - - typename K::Compare_x_at_y_2::result_type - operator()(Arg_type p, const typename K::Line_2& line) const - { - return fct(get(ppmap,p),line); - } - }; - template @@ -132,25 +115,13 @@ public: typedef CGAL::Is_convex_2 Is_convex_2; typedef CGAL::Is_y_monotone_2 Is_y_monotone_2; - // needed by Indirect_edge_compare, used in y_monotone and greene_approx - typedef typename Kernel::Line_2 Line_2; - typedef Pmap_fct Construct_line_2; - typedef Pmap_compare_x_at_y_2 Compare_x_at_y_2; - typedef typename Kernel::Is_horizontal_2 Is_horizontal_2; - + // needed by visibility graph and thus by optimal convex typedef Pmap_collinear_are_ordered_along_line_2 Collinear_are_ordered_along_line_2; typedef Pmap_fct Are_strictly_ordered_along_line_2; - // needed by approx_convex (for constrained triangulation) - // and optimal convex (for vis. graph) - - typedef typename Kernel::Segment_2 Segment_2; - - // needed by optimal convex (for vis. graph) - typedef Pmap_fct Construct_segment_2; - + Equal_2 equal_2_object() const { return Equal_2(ppmap,static_cast(this)->equal_2_object()); } @@ -180,19 +151,6 @@ public: { return Compare_x_2(ppmap,static_cast(this)->compare_x_2_object()); } - Construct_line_2 - construct_line_2_object() const - { return Construct_line_2(ppmap,static_cast(this)->construct_line_2_object()); } - - Compare_x_at_y_2 - compare_x_at_y_2_object() const - { return Compare_x_at_y_2(ppmap,static_cast(this)->compare_x_at_y_2_object()); } - - - Construct_segment_2 - construct_segment_2_object() const - { return Construct_segment_2(); } - Collinear_are_ordered_along_line_2 collinear_are_ordered_along_line_2_object() const { return Collinear_are_ordered_along_line_2(ppmap,static_cast(this)->collinear_are_ordered_along_line_2_object()); } @@ -202,10 +160,6 @@ public: { return Are_strictly_ordered_along_line_2(ppmap,static_cast(this)->are_strictly_ordered_along_line_2_object()); } - Is_horizontal_2 - is_horizontal_2_object() const - { return Is_horizontal_2(); } - Is_convex_2 is_convex_2_object(const Self& traits) const { return Is_convex_2(traits); }