\( \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.12.1 - dD Triangulations
RegularTriangulationTraits Concept Reference

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>
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). More...
 
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). More...
 

Creation

 RegularTriangulationTraits ()
 The default constructor (optional). More...
 

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

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

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.