CGAL 6.2 - Inscribed Areas: CGAL::Extremal_polygon_perimeter_traits_2< K > Struct Template Reference

CGAL 6.2 - Inscribed Areas

Loading...
Searching...
No Matches
List of all members
CGAL::Extremal_polygon_perimeter_traits_2< K > Struct Template Reference
Reference Manual

`#include <CGAL/Extremal_polygon_traits_2.h>`

## Definition

template<typename K>
struct CGAL::Extremal_polygon_perimeter_traits_2< K >

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`.

## 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

## ◆ Operation

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.