\( \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.10.2 - Polygon Mesh Processing
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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 ()
 

Member Typedef Documentation

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.

Functor for computing squared length of a segment.

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

Functor for constructing scaled vectors.

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

Functor for constructing translated points.

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

Functor for constructing vectors.

It provides Vector_3 operator()(const Point_3 &, const 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.