CGAL 4.7 - Inscribed Areas: CGAL::Extremal_polygon_perimeter_traits_2< K > Class Template Reference

\( \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.7 - Inscribed Areas

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Extremal_polygon_perimeter_traits_2< K > Class Template Reference
Inscribed Areas Reference

`#include <CGAL/Extremal_polygon_traits_2.h>`

## Definition

This is an advanced class.

Advanced

The class `Extremal_polygon_perimeter_traits_2` provides the types and operations needed to compute a maximum perimeter \( k\)-gon \( P_k\) that can be inscribed into a given convex polygon \( P\) using the function `extremal_polygon_2()`.

Template Parameters

  K | must be a model of `Kernel`.

Is Model Of:
  `ExtremalPolygonTraits_2`

See Also
  `CGAL::maximum_area_inscribed_k_gon_2()`
  `CGAL::maximum_perimeter_inscribed_k_gon_2()`
  `CGAL::extremal_polygon_2()`
  `CGAL::Extremal_polygon_area_traits_2<K>`
  `ExtremalPolygonTraits_2`

## Types

typedef unspecified_type | FT
| typedef to `K::FT`.
typedef unspecified_type | Point_2
| typedef to `K::Point_2`.
typedef unspecified_type | Less_xy_2
| typedef to `K::Less_xy_2`.
typedef unspecified_type | Orientation_2
| typedef to `K::Orientation_2`.
typedef unspecified_type | Operation
| AdaptableBinaryFunction class `op`: `Point_2` \( \times\) `Point_2` \( \rightarrow\) `FT`. More...

## Operations

int | min_k () const
| returns 2.
FT | init (const Point_2 &p, const Point_2 &q) const
| returns twice the Euclidean distance between `p` and `q`.
Operation | operation (const Point_2 &p) const
| returns `Operation` where `p` is the fixed \( root\) point.
template<class RandomAccessIterator , class OutputIterator >
OutputIterator | compute_min_k_gon (RandomAccessIterator points_begin, RandomAccessIterator points_end, FT &max_area, OutputIterator o) const

writes the pair (`points_begin[0]`, `p`) where `p` is drawn from [`points_begin`, `points_end`) such that the Euclidean distance between both points is maximized (maximum perimeter 2-gon rooted at `points_begin[0]`) to o and returns the past-the-end iterator for that sequence (== `o + 2`).

Less_xy_2 | less_xy_2_object ()
Orientation_2 | orientation_2_object ()

## Member Typedef Documentation

template<typename K >

typedef unspecified_type CGAL::Extremal_polygon_perimeter_traits_2< K >::Operation

AdaptableBinaryFunction class `op`: `Point_2` \( \times\) `Point_2` \( \rightarrow\) `FT`.

For a fixed `Point_2` \( root\), `op` \( (p,\,q)\) returns \( d(r,\,p) + d(p,\,q) - d(r,\,q)\) where \( d\) denotes the Euclidean distance.