\( \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.6.1 - dD Triangulations
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
DelaunayTriangulationTraits Concept Reference

Definition

This concept describes the geometric types and predicates required to build a Delaunay triangulation. It corresponds to the first template parameter of the class Delaunay_triangulation<DelaunayTriangulationTraits, TriangulationDataStructure>.

Refines:
TriangulationTraits.
Has Models:

CGAL::Cartesian_d<FT, Dim, LA>

CGAL::Epick_d<Dim> (recommended)

See Also
TriangulationTraits
DelaunayTriangulation

Types

typedef unspecified_type Side_of_oriented_sphere_d
 A predicate object that must provide the templated operator template<typename ForwardIterator> Oriented_side operator()(ForwardIterator start, ForwardIterator end, const Point_d & p). More...
 
typedef unspecified_type In_flat_side_of_oriented_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 Point_d & p). More...
 

Creation

 DelaunayTriangulationTraits ()
 The default constructor.
 

Operations

The following methods permit access to the traits class's predicates:

Side_of_oriented_sphere_d side_of_oriented_sphere_d_object () const
 
In_flat_side_of_oriented_sphere_d in_flat_side_of_oriented_sphere_d_object () const
 

Member Typedef Documentation

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

The operator returns ON_POSITIVE_SIDE, ON_NEGATIVE_SIDE or ON_ORIENTED_BOUNDARY depending of the side of the query point p with respect to the sphere circumscribing the simplex defined by the points in range [start,end). If the simplex is positively oriented according to orient, then the positive side of sphere corresponds geometrically to its bounded side. The points in range [start,end) and p are supposed to belong to the lower dimensional flat whose orientation is given by orient.

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

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

The operator returns ON_POSITIVE_SIDE, ON_NEGATIVE_SIDE or ON_ORIENTED_BOUNDARY depending of the side of the query point p with respect to the sphere circumscribing the simplex defined by the points in range [start,end). If the simplex is positively oriented, then the positive side of sphere corresponds geometrically to its bounded side.

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