## RandomPolygonTraits_2

### Definition

The concept RandomPolygonTraits_2 describes the requirements for the traits class used by the function random_polygon_2.

### Has Models

The CGAL kernels.

### Types

RandomPolygonTraits_2::FT
| The coordinate type of the points of the polygon (i.e., a field type)
RandomPolygonTraits_2::Point_2
| The point type of the polygon.
RandomPolygonTraits_2::Orientation_2
| Predicate object type that determines the orientation of three points. It must provide Orientation operator()(Point_2 p, Point_2 q, Point_2 r) that returns LEFT_TURN, if r lies to the left of the oriented line l defined by p and q, returns RIGHT_TURN if r lies to the right of l, and returns COLLINEAR if r lies on l.
RandomPolygonTraits_2::Less_xy_2
| Binary predicate object type comparing Point_2s lexicographically. It must provide bool operator()(Point_2 p, Point_2 q) that returns true iff p <xy q. We have p<xyq, iff px < qx or px = qx and py < qy, where px and py denote the x and y coordinates of point p, resp.

### Operations

The following two member functions returning instances of the above predicate object types are required.

Less_xy_2 | t.less_xy_2_object ()
Orienation_2 | t.orientation_2_object ()