CGAL 6.2 - Polygon Mesh Processing: PMPDistanceTraits Concept Reference

CGAL 6.2 - Polygon Mesh Processing

Loading...
Searching...
No Matches
List of all members | Public Types
PMPDistanceTraits Concept Reference
Reference Manual » Concepts

## Definition

The concept `PMPDistanceTraits` is a refinement of the concepts `AABBGeomTraits_3` 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_3`
  `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`.
typedef unspecified_type | Vector_3
| 3D vector type

## Functors
typedef unspecified_type | Compute_squared_area_3
| Functor for computing squared area of a triangle.
typedef unspecified_type | Compute_squared_length_3
| Functor for computing squared length of a segment.
typedef unspecified_type | Construct_translated_point_3
| Functor for constructing translated points.
typedef unspecified_type | Construct_vector_3
| Functor for constructing vectors.
typedef unspecified_type | Construct_scaled_vector_3
| Functor for constructing scaled vectors.

## 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

## ◆ Compute_squared_area_3

typedef unspecified_type PMPDistanceTraits::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

typedef unspecified_type PMPDistanceTraits::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

typedef unspecified_type PMPDistanceTraits::Construct_scaled_vector_3

Functor for constructing scaled vectors.

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

## ◆ Construct_translated_point_3

typedef unspecified_type PMPDistanceTraits::Construct_translated_point_3

Functor for constructing translated points.

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

## ◆ Construct_vector_3

typedef unspecified_type PMPDistanceTraits::Construct_vector_3

Functor for constructing vectors.

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

## ◆ Point_3

typedef unspecified_type PMPDistanceTraits::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.