Navigation: Up, Table of Contents, Bibliography, Index, Title Page

Types

Traits::Point_2
The point type on which the convex hull functions operate.


Traits::Less_xy
Binary predicate object type comparing Point_2s lexicographically. Must provide bool operator()(Point_2 p, Point_2 q) where true is returned iff p <xy q. We have p<xyq, iff px < qx or px = qx and py < qy, where px and py denote x and y coordinate of point p resp.


Traits::Less_yx
Same as Less_xy with the roles of x and y interchanged.


Traits::Leftturn
Predicate object type. Must provide bool operator()(Point_2 p,Point_2 q,Point_2 r), which returns true iff r lies to the left of the oriented line through p and q.


Traits::Rightturn
Predicate object type. Must provide bool operator()(Point_2 p,Point_2 q,Point_2 r), which returns true iff r lies to the right of the oriented line through p and q.


Traits::Right_of_line
Unary predicate object type. Must provide a constructor taking two Point_2 s p and q and bool operator()(Point_2 r), which returns true iff r lies right of the directed line through p and q.


Traits::Less_dist_to_line
Binary predicate object type. Must provide a constructor taking two Point_2s p and q and bool operator()(Point_2 r,Point_2 s), which returns true iff the signed distance of r to the line lpq through p and q is smaller as the the distance of s to lpq. It is used to compute the point right of a line with maximum unsigned distance to the line. The binary predicate must provide a total order compatible to convexity, i.e. for any line segment s one of the endpoints of s is the smallest point among the points on s, with respect to the order given by Less_dist_to_line.


Traits::Less_rotate_ccw
Binary predicate object type. Must provide a constructor taking a Point_2 e and bool operator()(Point_2 p,Point_2 q), where true is returned iff a tangent at e to the point set {e,p,q} hits p before q when rotated counterclockwise around e. Ties are broken such that the point with larger distance to e is smaller!

Creation

Only default and copy constructor are required.

Traits ch_traits;
A default constructor.


Traits ch_traits ( tbc);
A copy constructor.

Operations

The following member functions to create instances of the above predicate object types must exist. These member functions forward their arguments to the constructors of the corresponding predicate classes.

Less_xy ch_traits.get_less_xy_object ()

Less_yx ch_traits.get_less_yx_object ()

Right_of_line
ch_traits.get_right_of_line_object ( Point_2 p,
Point_2 q)

Less_dist_to_line
ch_traits.get_less_dist_to_line_object ( Point_2 p,
Point_2 q)

Less_rotate_ccw ch_traits.get_less_rotate_ccw_object ( Point_2 p)

Leftturn ch_traits.get_leftturn_object ()

Rightturn ch_traits.get_rightturn_object ()


Next: Class declaration of chull_traits_2<R>
Navigation: Up, Table of Contents, Bibliography, Index, Title Page
The GALIA project. Jan 18, 2000.