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

Concept MinQuadrilateralTraits_2

Definition

The concept MinQuadrilateralTraits_2 defines types and operations needed to compute minimum enclosing quadrilaterals of a planar point set using the functions min_rectangle_2, min_parallelogram_2 and min_strip_2.

Types

MinQuadrilateralTraits_2::Point_2
type for representing points.


MinQuadrilateralTraits_2::Direction_2
type for representing directions.


MinQuadrilateralTraits_2::Line_2
type for representing lines.


MinQuadrilateralTraits_2::Rectangle_2
type for representing (not necessarily axis-parallel) rectangles.


MinQuadrilateralTraits_2::Parallelogram_2
type for representing parallelograms.


MinQuadrilateralTraits_2::Strip_2
type for representing strips, that is the closed region bounded by two parallel lines.


MinQuadrilateralTraits_2::Equal_2
AdaptableBinaryFunction class
op: Point_2 × Point_2 bool.
Returns true, iff the two points are equal.


MinQuadrilateralTraits_2::Less_x_2
AdaptableBinaryFunction class
op: Point_2 × Point_2 bool.
op(p,q) returns true, iff the x-coordinate of p is smaller than the x-coordinate of q.


MinQuadrilateralTraits_2::Less_y_2
AdaptableBinaryFunction class
op: Point_2 × Point_2 bool.
op(p,q) returns true, iff the y-coordinate of p is smaller than the y-coordinate of q.


MinQuadrilateralTraits_2::Greater_x_2
AdaptableBinaryFunction class
op: Point_2 × Point_2 bool.
op(p,q) returns true, iff the x-coordinate of p is greater than the x-coordinate of q.


MinQuadrilateralTraits_2::Greater_y_2
AdaptableBinaryFunction class
op: Point_2 × Point_2 bool.
op(p,q) returns true, iff the y-coordinate of p is greater than the y-coordinate of q.


MinQuadrilateralTraits_2::Right_of_implicit_line_2
Function class
op: Point_2 × Point_2 × Direction_2 bool.
op(p1,p2,d) returns true, iff the p1 is strictly to the right of the oriented line through p2 with direction d.


MinQuadrilateralTraits_2::Less_rotate_ccw_2
AdaptableBinaryFunction class
op: Direction_2 × Direction_2 bool.
op(d1,d2) returns true, iff the slope of d1 is less than the slope of d2.


MinQuadrilateralTraits_2::Area_less_rectangle_2
AdaptableBinaryFunction class
op: Rectangle_2 × Rectangle_2 bool.
op(r1,r2) returns true, iff the area of r1 is strictly less than the area of r2.


MinQuadrilateralTraits_2::Area_less_parallelogram_2
AdaptableBinaryFunction class
op: Parallelogram_2 × Parallelogram_2 bool.
op(p1,p2) returns true, iff the area of p1 is strictly less than the area of p2.


MinQuadrilateralTraits_2::Width_less_strip_2
AdaptableBinaryFunction class
op: Strip_2 × Strip_2 bool.
op(s1,s2) returns true, iff the width of s1 is strictly less than the width of s2.


MinQuadrilateralTraits_2::Rotate_direction_by_multiple_of_pi_2
AdaptableBinaryFunction class
op: Direction_2 × int Direction_2.
For a direction d and i, 0 i < 4 op(d,i) returns the direction that results from clockwise rotating d by i · .


MinQuadrilateralTraits_2::Construct_direction_2
AdaptableBinaryFunction class
op: Point_2 × Point_2 Direction_2.
op(p,q) returns the direction of the vector from p to q.


MinQuadrilateralTraits_2::Construct_rectangle_2
Function class
op: Point_2 × Direction_2 × Point_2 × Point_2 × Point_2 Rectangle_2.
If the points p1,p2,p3,p4 form the boundary of a convex polygon (oriented counterclockwise), op(p1,d,p2,p3,p4) returns the rectangle with one of the points on each side and one sides parallel to d.


MinQuadrilateralTraits_2::Construct_parallelogram_2
Function class
op: Point_2 × Direction_2 × Point_2 × Direction_2 × Point_2 × Point_2 Rectangle_2.
If the points p1,p2,p3,p4 form the boundary of a convex polygon (oriented counterclockwise), op(p1,d1,p2,d2,p3,p4) returns the parallelogram with one of the points on each side and one side parallel to each of d1 and d2.


MinQuadrilateralTraits_2::Construct_strip_2
Function class
op: Point_2 × Direction_2 × Point_2 Strip_2.
op(p1,d,p2) returns the strip bounded by the lines through p1 resp. p2 with direction d.

Operations

template < class OutputIterator >
OutputIterator
t.copy_rectangle_vertices_2 ( const Rectangle_2& r,
OutputIterator o)
const
copies the four vertices of r in counterclockwise order to o.

template < class OutputIterator >
OutputIterator
t.copy_parallelogram_vertices_2 ( const Parallelogram_2& p,
OutputIterator o)
const
copies the four vertices of p in counterclockwise order to o.

template < class OutputIterator >
OutputIterator
t.copy_strip_lines_2 ( const Strip_2& s,
OutputIterator o)
const
copies the two lines bounding s to o.

The following functions just return the corresponding function object.

Equal_2 t.equal_2_object () const
Less_x_2 t.less_x_2_object () const
Less_y_2 t.less_y_2_object () const
Greater_x_2 t.greater_x_2_object () const
Greater_y_2 t.greater_y_2_object () const
Right_of_implicit_line_2
t.right_of_implicit_line_2_object () const
Less_rotate_ccw_2 t.less_rotate_ccw_2_object () const
Area_less_rectangle_2
t.area_less_rectangle_2_object () const
Area_less_parallelogram_2
t.area_less_parallelogram_2_object () const
Width_less_strip_2 t.width_less_strip_2_object () const
Construct_direction_2
t.construct_direction_2_object () const
Construct_rectangle_2
t.construct_rectangle_2_object () const
Construct_parallelogram_2
t.construct_parallelogram_2_object () const
Construct_strip_2 t.construct_strip_2_object () const
Rotate_direction_by_multiple_of_pi_2
t.rotate_direction_by_multiple_of_pi_2_object () const

Has Models

CGAL::Min_quadrilateral_default_traits_2<R>

See Also

CGAL::min_rectangle_2
CGAL::min_parallelogram_2
CGAL::min_strip_2


Next: rectangular_p_center_2
Navigation: Up, Table of Contents, Bibliography, Index, Title Page
www.cgal.org. Aug 13, 2001.