\( \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 - 2D Generalized Barycentric Coordinates

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
BarycentricCoordinates_2 Concept Reference
Concepts

## Definition

Requirements of the template parameter `Coordinate_2` for the class `CGAL::Barycentric_coordinates::Generalized_barycentric_coordinates_2`.

Has Models:

  `CGAL::Barycentric_coordinates::Wachspress_2`

  `CGAL::Barycentric_coordinates::Mean_value_2`

  `CGAL::Barycentric_coordinates::Discrete_harmonic_2`

## Creation
| BarycentricCoordinates_2 (const std::vector< Traits::Point_2 > &vertices, const Traits &barycentric_traits)
| Creates a class that implements generalized barycentric coordinates for any query point that does not belong to the polygon's boundary. More...

## Functions
boost::optional< OutputIterator > | weights (const Traits::Point_2 &query_point, OutputIterator &output)
| A function that computes generalized barycentric coordinates without normalization that are called generalized baycentric weights (as fast as possible algorithm is used). More...
boost::optional< OutputIterator > | coordinates_on_bounded_side (const Traits::Point_2 &query_point, OutputIterator &output, const Type_of_algorithm type_of_algorithm)
| A function that computes generalized barycentric coordinates on the bounded side of a polygon with one of two possible algorithms: one is precise and one is fast. More...
boost::optional< OutputIterator > | coordinates_on_unbounded_side (const Traits::Point_2 &query_point, OutputIterator &output, const Type_of_algorithm type_of_algorithm)
| A function that computes generalized barycentric coordinates on the unbounded side of a polygon with one of two possible algorithms: one is precise and one is fast. More...

## Constructor & Destructor Documentation

BarycentricCoordinates_2::BarycentricCoordinates_2 | ( | const std::vector< Traits::Point_2 > & | vertices,
|  | const Traits & | barycentric_traits
| ) |  |

Creates a class that implements generalized barycentric coordinates for any query point that does not belong to the polygon's boundary.

The polygon is given by a range of vertices of the type `Traits::Point_2` stored in a container of the type `std::vector`.

## Member Function Documentation

boost::optional<OutputIterator> BarycentricCoordinates_2::coordinates_on_bounded_side | ( | const Traits::Point_2 & | query_point,
|  | OutputIterator & | output,
|  | const Type_of_algorithm | type_of_algorithm
| ) |  |

A function that computes generalized barycentric coordinates on the bounded side of a polygon with one of two possible algorithms: one is precise and one is fast.

The algorithm type is specified by the parameter type_of_algorithm. Coordinates are computed with respect to a query point of the type `Traits::Point_2` and stored in the output iterator `output`. The function returns a pointer to the last stored element.

boost::optional<OutputIterator> BarycentricCoordinates_2::coordinates_on_unbounded_side | ( | const Traits::Point_2 & | query_point,
|  | OutputIterator & | output,
|  | const Type_of_algorithm | type_of_algorithm
| ) |  |

A function that computes generalized barycentric coordinates on the unbounded side of a polygon with one of two possible algorithms: one is precise and one is fast.

The algorithm type is specified by the parameter type_of_algorithm. Coordinates are computed with respect to a query point of the type `Traits::Point_2` and stored in the output iterator `output`. The function returns a pointer to the last stored element.

boost::optional<OutputIterator> BarycentricCoordinates_2::weights | ( | const Traits::Point_2 & | query_point,
|  | OutputIterator & | output
| ) |  |

A function that computes generalized barycentric coordinates without normalization that are called generalized baycentric weights (as fast as possible algorithm is used).

Weights are computed with respect to a query point of the type `Traits::Point_2` and stored in the output iterator `output`. The function returns a pointer to the last stored element.