CGAL 4.12 - Polygon Mesh Processing
PMPDistanceTraits Concept Reference

## Definition

The concept PMPDistanceTraits is a refinement of the concepts AABBGeomTraits and SpatialSortingTraits_3. In addition to the types required by those concepts, it also requires types and functors needed by the functions approximate_max_distance_to_point_set(), sample_triangle_mesh(), approximate_Hausdorff_distance() and max_distance_to_triangle_mesh()

Refines:

AABBGeomTraits

SpatialSortingTraits_3

Has Models:
Any 3D Kernel is a model of this concept.

## Public Types

typedef unspecified_type FT
A number type model of Field and RealEmbeddable

typedef unspecified_type Point_3
3D point type It must be default constructible, and can be constructed from 3 objects of type FT. More...

typedef unspecified_type Vector_3
3D vector type

## Functors

typedef unspecified_type Compute_squared_area_3
Functor for computing squared area of a triangle. More...

typedef unspecified_type Compute_squared_length_3
Functor for computing squared length of a segment. More...

typedef unspecified_type Construct_translated_point_3
Functor for constructing translated points. More...

typedef unspecified_type Construct_vector_3
Functor for constructing vectors. More...

typedef unspecified_type Construct_scaled_vector_3
Functor for constructing scaled vectors. More...

## Functions

Compute_squared_area_3 compute_squared_area_3_object ()

Compute_squared_length_3 compute_squared_length_3_object ()

Construct_translated_point_3 construct_translated_point_3_object ()

Construct_vector_3 construct_vector_3_object ()

Construct_scaled_vector_3 construct_scaled_vector_3_object ()

## ◆ Compute_squared_area_3

Functor for computing squared area of a triangle.

It provides FT operator()(const Point_3&, const Point_3&, const Point_3&) const and FT operator()(const Triangle_3&) const and has FT as result_type.

## ◆ Compute_squared_length_3

Functor for computing squared length of a segment.

and FT operator()(const Segment_3&) const and has FT as result_type.

## ◆ Construct_scaled_vector_3

Functor for constructing scaled vectors.

It provides Vector_3 operator()(const Vector_3 &, const FT &)

## ◆ Construct_translated_point_3

Functor for constructing translated points.

It provides Point_3 operator()(const Point_3 &, const Vector_3 &)

## ◆ Construct_vector_3

Functor for constructing vectors.

It provides Vector_3 operator()(const Point_3 &, const Point_3 &)

## ◆ Point_3

3D point type It must be default constructible, and can be constructed from 3 objects of type FT.

bool operator<(Point_3, Point_3) to lexicographically compare two points must be available. Access to Cartesian coordinates must be possible using Point_3::x(), Point_3::y(), Point_3::z() and FT operator[](int i) with 0 <= i < 3.

There must be a specialization of CGAL::Kernel_traits such that CGAL::Kernel_traits<Point_3>::Kernel is a model implementing this concept.