CGAL 6.1.2 - Optimal Transportation Curve Reconstruction: OptimalTransportationReconstructionTraits_2 Concept Reference

CGAL 6.1.2 - Optimal Transportation Curve Reconstruction

Loading...
Searching...
No Matches
List of all members
OptimalTransportationReconstructionTraits_2 Concept Reference
Reference Manual » Concepts

## Definition

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

Refines
  `DelaunayTriangulationTraits_2`

Has models
  All models of the CGAL concept `Kernel`
  `CGAL::Exact_predicates_inexact_constructions_kernel` (recommended)

See also
  `CGAL::Optimal_transportation_reconstruction_2`

## Types
typedef unspecified_type | FT
| A coordinate type.
typedef unspecified_type | Vector_2
| The vector type.
typedef unspecified_type | Construct_point_2
| A function object to construct a `Point_2`.
typedef unspecified_type | Construct_vector_2
| A function object to construct a `Vector_2`.
typedef unspecified_type | Construct_line_2
| A function object to construct a `Line_2`.
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_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

## ◆ Construct_line_2

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.

## ◆ Construct_point_2

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.

## ◆ Construct_vector_2

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.

## ◆ FT

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.