\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - Bounding Volumes

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Min_quadrilateral_default_traits_2< K > Class Template Reference
Bounding Volumes Reference

`#include <CGAL/Min_quadrilateral_traits_2.h>`

## Definition

The class `Min_quadrilateral_default_traits_2` is a traits class for the functions `min_rectangle_2`, `min_parallelogram_2` and `min_strip_2` using a two-dimensional CGAL kernel.

Template Parameters

  K | must be a model for `Kernel`.

Is Model Of:
  `MinQuadrilateralTraits_2`

See Also
  `CGAL::min_rectangle_2()`
  `CGAL::min_parallelogram_2()`
  `CGAL::min_strip_2()`

## Types
typedef unspecified_type | Point_2
| `Kernel::Point_2`.
typedef unspecified_type | Vector_2
| `Kernel::Vector_2`.
typedef unspecified_type | Direction_2
| `Kernel::Direction_2`.
typedef unspecified_type | Line_2
| `Kernel::Line_2`.
typedef unspecified_type | Rectangle_2
| internal type.
typedef unspecified_type | Parallelogram_2
| internal type.
typedef unspecified_type | Strip_2
| internal type.

## Predicates
typedef unspecified_type | Equal_2
| `Kernel::Equal_2`.
typedef unspecified_type | Less_xy_2
| `Kernel::Less_xy_2`.
typedef unspecified_type | Less_yx_2
| `Kernel::Less_yx_2`.
typedef unspecified_type | Orientation_2
| `Kernel::Orientation_2`.
typedef unspecified_type | Has_on_negative_side_2
| `Kernel::Has_on_negative_side_2`.
typedef unspecified_type | Compare_angle_with_x_axis_2
| `Kernel::Compare_angle_with_x_axis_2`.
typedef unspecified_type | Area_less_rectangle_2
| AdaptableBinaryFunction class. More...
typedef unspecified_type | Area_less_parallelogram_2
| AdaptableBinaryFunction class `op`: `Parallelogram_2` \( \times\) `Parallelogram_2` \( \rightarrow\) `bool`. More...
typedef unspecified_type | Width_less_strip_2
| AdaptableBinaryFunction class. More...

## Constructions
typedef unspecified_type | Construct_vector_2
| `Kernel::Construct_vector_2`.
typedef unspecified_type | Construct_vector_from_direction_2
| AdaptableFunctor. More...
typedef unspecified_type | Construct_perpendicular_vector_2
| `Kernel::Construct_perpendicular_vector_2`.
typedef unspecified_type | Construct_direction_2
| `Kernel::Construct_direction_2`.
typedef unspecified_type | Construct_opposite_direction_2
| `Kernel::Construct_opposite_direction_2`.
typedef unspecified_type | Construct_line_2
| `Kernel::Construct_line_2`.
typedef unspecified_type | Construct_rectangle_2
| Function class `op`: `Point_2` \( \times\) `Direction_2` \( \times\) `Point_2` \( \times\) `Point_2` \( \times\) `Point_2` \( \rightarrow\) `Rectangle_2`. More...
typedef unspecified_type | Construct_parallelogram_2
| Function class. More...
typedef unspecified_type | Construct_strip_2
| Function class `op`: `Point_2` \( \times\) `Direction_2` \( \times\) `Point_2` \( \rightarrow\) `Strip_2`. More...

## Operations
Additionally, for each of the predicate and construction functor types listed above, there is a member function that requires no arguments and returns an instance of that functor type. The name of the member function is the uncapitalized name of the type returned with the suffix `_object` appended. For example, for the functor type `Construct_vector_2` the following member function exists:
template<class OutputIterator >
OutputIterator | 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 | 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 | copy_strip_lines_2 (const Strip_2 &s, OutputIterator o) const
| copies the two lines bounding `s` to `o`.
Construct_vector_2 | construct_vector_2_object () const

## Member Typedef Documentation

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Area_less_parallelogram_2

AdaptableBinaryFunction class `op`: `Parallelogram_2` \( \times\) `Parallelogram_2` \( \rightarrow\) `bool`.

`op(p1,p2)` returns true, iff the area of \( p1\) is strictly less than the area of \( p2\).

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Area_less_rectangle_2

AdaptableBinaryFunction class.

`op`: `Rectangle_2` \( \times\) `Rectangle_2` \( \rightarrow\) `bool`. `op(r1,r2)` returns true, iff the area of \( r1\) is strictly less than the area of \( r2\).

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Construct_parallelogram_2

Function class.

`op`: `Point_2` \( \times\) `Direction_2` \( \times\) `Point_2` \( \times\) `Direction_2` \( \times\) `Point_2` \( \times\) `Point_2` \( \rightarrow\) `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`.

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Construct_rectangle_2

Function class `op`: `Point_2` \( \times\) `Direction_2` \( \times\) `Point_2` \( \times\) `Point_2` \( \times\) `Point_2` \( \rightarrow\) `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`.

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Construct_strip_2

Function class `op`: `Point_2` \( \times\) `Direction_2` \( \times\) `Point_2` \( \rightarrow\) `Strip_2`.

`op(p1,d,p2)` returns the strip bounded by the lines through `p1` resp. `p2` with direction `d`.

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Construct_vector_from_direction_2

AdaptableFunctor.

`op`: `Direction_2` \( \rightarrow\) `Vector_2`.

`op(d)` returns a vector in direction `d`.

template<typename K >

typedef unspecified_type CGAL::Min_quadrilateral_default_traits_2< K >::Width_less_strip_2

AdaptableBinaryFunction class.

`op`: `Strip_2` \( \times\) `Strip_2` \( \rightarrow\) `bool`. `op(s1,s2)` returns true, iff the width of \( s1\) is strictly less than the width of \( s2\).