CGAL 5.1 - 2D Generalized Barycentric Coordinates
BarycentricCoordinates_2 Concept Reference

Definition

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< OutputIteratorweights (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< OutputIteratorcoordinates_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< OutputIteratorcoordinates_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::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

◆ coordinates_on_bounded_side()

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.

◆ coordinates_on_unbounded_side()

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.

◆ weights()

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.