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

#include <CGAL/Extremal_polygon_traits_2.h>

## Definition

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
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 ()

## ◆ Operation

template<typename K >

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.