Processing math: 100%
 
CGAL 6.0 - dD Triangulations
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Loading...
Searching...
No Matches
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>
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

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.