\( \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 - Optimal Transportation Curve Reconstruction

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

## Definition

The concept `OptimalTransportationReconstructionTraits_2` describes the requirements for the traits class of `CGAL::Optimal_transportation_reconstruction_2`.

Refines:
  `DelaunayTriangulationTraits_2`

Has Models:

  Any model of the `Kernel` concept

  `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended)

See Also
  `CGAL::Optimal_transportation_reconstruction_2`

## Types
typedef unspecified_type | FT
| A coordinate type. More...
typedef unspecified_type | Vector_2
| The vector type.
typedef unspecified_type | Construct_point_2
| A function object to construct a `Point_2`. More...
typedef unspecified_type | Construct_vector_2
| A function object to construct a `Vector_2`. More...
typedef unspecified_type | Construct_line_2
| A function object to construct a `Line_2`. More...
typedef unspecified_type | Construct_translated_point_2
| Must provides: `Point_2 operator()(Point_2 p, Vector_2 v)` that computes the point `p + v`.
typedef unspecified_type | Construct_scaled_vector_2
| Must provides: `Vector_2 operator()(Vector_2 v, FT c)` that computes the vector `c * v`.
typedef unspecified_type | Construct_sum_of_vectors_2
| Must provides: `Vector_2 operator()(Vector_2 v1, Vector_2 v2)` that computes the vector `v1 + v2`.
typedef unspecified_type | Construct_projected_point_2
| Must provides: `Point_2 operator()(Line_2 l, Point_2 p)` that computes the projection of the point `p` on the line `l`.
typedef unspecified_type | Has_on_2
| Must provides: `bool operator()(Line_2 l, Point_2 p)` that returns `true` iff `p` lies on `l`.
typedef unspecified_type | Compute_scalar_product_2
| Must provides: `FT operator()(Vector_2 v1, Vector_2 v2)` that computes the scalar product between `v1` and `v2`.
typedef unspecified_type | Compute_squared_length_2
| Must provides: `FT operator()(Vector_2 v)` that computes the squared length of `v`.
typedef unspecified_type | Compute_squared_distance_2
| Must provides: `FT operator()(Point p1, Point p2)` that computes the squared distance between `p1` and `p2`.

## Creation
| OptimalTransportationReconstructionTraits_2 ()
| Default constructor.
| OptimalTransportationReconstructionTraits_2 (const OptimalTransportationReconstructionTraits_2 &)
| Copy constructor.
OptimalTransportationReconstructionTraits_2 & | operator= (const OptimalTransportationReconstructionTraits_2 &)
| Assignment operator.

## Access to Predicate and Constructors Objects
Construct_point_2 | construct_point_2_object ()
Construct_vector_2 | construct_vector_2_object ()
Construct_vector_2 | construct_vector_2_object ()
Construct_line_2 | construct_line_2_object ()
Construct_translated_point_2 | construct_translated_point_2_object ()
Construct_scaled_vector_2 | construct_scaled_vector_2_object ()
Construct_sum_of_vectors_2 | construct_sum_of_vectors_2_object ()
Construct_projected_point_2 | construct_projected_point_2_object ()
Has_on_2 | has_on_2_object ()
Compute_scalar_product_2 | compute_scalar_product_2_object ()
Compute_squared_length_2 | compute_squared_length_2_object ()
Compute_squared_distance_2 | compute_squared_distance_2_object ()

## Member Typedef Documentation

typedef unspecified_type OptimalTransportationReconstructionTraits_2::Construct_line_2

A function object to construct a `Line_2`.

Must provides: `Line_2 operator()(Point p, Vector v)`, which constructs a 2D line from a point and a vector.

typedef unspecified_type OptimalTransportationReconstructionTraits_2::Construct_point_2

A function object to construct a `Point_2`.

Must provides: `Point_2 operator()(FT x, FT y)`, which constructs a 2D point from its coordinates.

typedef unspecified_type OptimalTransportationReconstructionTraits_2::Construct_vector_2

A function object to construct a `Vector_2`.

Must provides: `Vector_2 operator()(FT x, FT y)`, which constructs a 2D vector from its coordinates, and `Vector_2 operator()(Point p0, Point p1)`, which constructs a 2D vector from 2 points.

typedef unspecified_type OptimalTransportationReconstructionTraits_2::FT

A coordinate type.

The type must provide a copy constructor, assignment, comparison operators, negation, multiplication, division and allow the declaration and initialization with a small integer and double constant (cf. requirements for number types). An obvious choice would be coordinate type of the point class.