CGAL 6.3 - 2D Polygon Partitioning
Loading...
Searching...
No Matches
CGAL::Partition_traits_2< R, PointPropertyMap, Container_ > Class Template Reference

#include <CGAL/Partition_traits_2.h>

Definition

template<typename R, typename PointPropertyMap = Identity_property_map<R::Point_2>, typename Container_ = std::list<typename boost::property_traits<PointPropertyMap>::key_type>>
class CGAL::Partition_traits_2< R, PointPropertyMap, Container_ >

Traits class that can be used with all the 2-dimensional polygon partitioning algorithms.

Template Parameters
Ra representation class
PointPropertyMapa property map that maps to points of type R::Point_2
Container_the container type used to store the vertices of the output polygon. It must be a model of the SequenceContainer concept with value type R::Point_2. Defaults to std::list<R::Point_2>.
Is model of
ConvexPartitionIsValidTraits_2
IsYMonotoneTraits_2
OptimalConvexPartitionTraits_2
PartitionTraits_2
YMonotonePartitionIsValidTraits_2
See also
CGAL::approx_convex_partition_2()
CGAL::convex_partition_is_valid_2()
CGAL::greene_approx_convex_partition_2()
CGAL::optimal_convex_partition_2()
CGAL::partition_is_valid_2()
CGAL::Partition_is_valid_traits_2<Traits, PolygonIsValid>
CGAL::y_monotone_partition_2()
CGAL::y_monotone_partition_is_valid_2()
Examples
Partition_2/approx_convex_partition_2.cpp, Partition_2/greene_approx_convex_partition_2.cpp, Partition_2/optimal_convex_partition_2.cpp, Partition_2/y_monotone_partition_2.cpp, and Partition_2/y_monotone_partition_indices_2.cpp.

Types

typedef Partition_traits_2< R, PMap, Container_ > Self
typedef R::FT FT
typedef boost::property_traits< PointPropertyMap >::key_type Point_2
typedef Container_ Container
 The sequence container used to store the vertices of the output polygon.
typedef CGAL::Polygon_2< Self, ContainerPolygon_2
typedef unspecified_type Less_yx_2
 A functor with an operator which first obtains points of type R::Point_2 with the function get() applied on the point property map, and then applies the functor of R::Less_yx_2 to these points.
typedef unspecified_type Less_xy_2
typedef unspecified_type Left_turn_2
typedef unspecified_type Orientation_2
typedef unspecified_type Compare_y_2
typedef unspecified_type Compare_x_2
typedef unspecified_type Collinear_are_ordered_along_line_2
typedef unspecified_type Are_strictly_ordered_along_line_2
typedef CGAL::Is_convex_2< SelfIs_convex_2
typedef CGAL::Is_y_monotone_2< SelfIs_y_monotone_2

Creation

A default constructor and copy constructor are defined.

 Partition_traits_2 ()
 Partition_traits_2 (Partition_traits_2 &tr)
 Partition_traits_2 (const R &rep)
 Partition_traits_2 (const R &rep, PointPropertyMap pmap)

Operations

For each predicate object type Pred_object_type listed above (i.e., Less_yx_2, Less_xy_2, Left_turn_2, Orientation_2, Compare_y_2, Compare_x_2, Collinear_are_ordered_along_line_2, Are_strictly_ordered_along_line_2, Is_convex_2, Is_y_monotone_2) there is a corresponding function of the following form defined:

Pred_object_type pred_object_type_object ()
 Returns an instance of Pred_object_type.

Member Typedef Documentation

◆ Container

template<typename R, typename PointPropertyMap = Identity_property_map<R::Point_2>, typename Container_ = std::list<typename boost::property_traits<PointPropertyMap>::key_type>>
typedef Container_ CGAL::Partition_traits_2< R, PointPropertyMap, Container_ >::Container

The sequence container used to store the vertices of the output polygon.

This is determined by the Container_ template parameter. The default is std::list<R::Point_2>.