CGAL 6.1.1 - dD Triangulations

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

## Definition

This concept describes the geometric types and predicates required to build a regular triangulation. It corresponds to the first template parameter of the class `CGAL::Regular_triangulation<RegularTriangulationTraits_, TriangulationDataStructure_>`.

Refines
  `TriangulationTraits`

Has models
  `CGAL::Epick_d<Dim>`
  `CGAL::Epeck_d<Dim>`

See also
  `TriangulationTraits`

## Types
typedef unspecified_type | FT
| A number type that is a model for `FieldNumberType`.
typedef unspecified_type | Weighted_point_d
| The weighted point type.
typedef unspecified_type | Construct_point_d
| A function object that must provide the operator `Point_d operator()(const Weighted_point_d & wp)`, returning `wp` without its weight.
typedef unspecified_type | Compute_weight_d
| A function object that must provide the operator `FT operator()(const Weighted_point_d & wp)`, returning the weight of `wp`.
typedef unspecified_type | Power_side_of_power_sphere_d
| A predicate object that must provide the templated operator `template<typename ForwardIterator> Oriented_side operator()(ForwardIterator start, ForwardIterator end, const Weighted_point_d & p)`.
typedef unspecified_type | In_flat_power_side_of_power_sphere_d
| A predicate object that must provide the templated operator `template<typename ForwardIterator> Oriented_side operator()(Flat_orientation_d orient, ForwardIterator start, ForwardIterator end, const Weighted_point_d & p)`.

## Creation
| RegularTriangulationTraits ()
| The default constructor (optional).

## Operations
The following methods permit access to the traits class's predicates and functors:
Construct_point_d | construct_point_d_object () const
Compute_weight_d | compute_weight_d_object () const
Power_side_of_power_sphere_d | power_side_of_power_sphere_d_object () const
In_flat_power_side_of_power_sphere_d | in_flat_power_side_of_power_sphere_d_object () const

## Member Typedef Documentation

## ◆ In_flat_power_side_of_power_sphere_d

typedef unspecified_type RegularTriangulationTraits::In_flat_power_side_of_power_sphere_d

A predicate object that must provide the templated operator `template<typename ForwardIterator> Oriented_side operator()(Flat_orientation_d orient, ForwardIterator start, ForwardIterator end, const Weighted_point_d & p)`.

The points in range `[start,end)` and `p` are supposed to belong to the lower-dimensional flat whose orientation is given by `orient`.

Let \( S \) be the power sphere of the weighted points in range `[start,end)` in this lower dimensional flat. The operator returns:

- `ON_ORIENTED_BOUNDARY` if `p` is orthogonal to \( S \),
- `ON_NEGATIVE_SIDE` if the power distance between `p` and \( S \) is positive.
- `ON_POSITIVE_SIDE` otherwise.

Precondition
  `std::distance(start,end)=k+1` where \( k\) is the number of points used to construct `orient` (dimension of the flat). The points in range `[start,end)` must be affinely independent. `p` must be in the flat generated by these points.

## ◆ Power_side_of_power_sphere_d

typedef unspecified_type RegularTriangulationTraits::Power_side_of_power_sphere_d

A predicate object that must provide the templated operator `template<typename ForwardIterator> Oriented_side operator()(ForwardIterator start, ForwardIterator end, const Weighted_point_d & p)`.

Let \( S \) be the power sphere of the weighted points in range `[start,end)`. The operator returns:

- `ON_ORIENTED_BOUNDARY` if `p` is orthogonal to \( S \),
- `ON_NEGATIVE_SIDE` if the power distance between `p` and \( S \) is positive.
- `ON_POSITIVE_SIDE` otherwise.

Precondition
  If `Dimension` is `CGAL::Dimension_tag<D>`, then `std::distance(start,end)=D+1`. The weighted points in range `[start,end)` must be affinely independent, i.e., the simplex must not be flat.

## Constructor & Destructor Documentation

## ◆ RegularTriangulationTraits()

RegularTriangulationTraits::RegularTriangulationTraits | ( |  | ) |

The default constructor (optional).

This is not required when an instance of the traits is provided to the constructor of `CGAL::Regular_triangulation`.