CGAL 4.4 - High-dimension Triangulation
|
The concept TriangulationTraits
is the first template parameter of the class Triangulation<TriangulationTraits, TriangulationDataStructure>
. It brings the geometric ingredient to the definition of a triangulation, while the combinatorial ingredient is brought by the second template parameter, TriangulationDataStructure
.
SpatialSortingTraits_d
If a range of points is inserted, the traits must refine SpatialSortingTraits_d
(this operation is optimized using spatial sorting). This is not required if the points are inserted one by one. CGAL::Cartesian_d<FT, Dim, LA>
CGAL::Epick_d<Dim>
(recommended)
DelaunayTriangulationTraits
Triangulation
Types | |
typedef Hidden_type | Dimension |
typedef Hidden_type | Point_d |
A type representing a point in Euclidean space. More... | |
typedef Hidden_type | Orientation_d |
A predicate object that must provide the templated operator template<typename ForwardIterator> Orientation operator()(ForwardIterator start, ForwardIterator end) . More... | |
typedef Hidden_type | Contained_in_affine_hull_d |
A predicate object that must provide the templated operator template<typename ForwardIterator> bool operator()(ForwardIterator start, ForwardIterator end, const Point_d & p) . More... | |
In the \( D\)-dimensional oriented space, a \( k-1\) dimensional subspace (flat) defined by \( k\) points can be oriented in two different ways. Choosing the orientation of any simplex defined by \( k\) points fixes the orientation of all other simplices. To be able to orient lower dimensional flats, we use the following classes: | |
typedef Hidden_type | Flat_orientation_d |
A type representing an orientation of an affine subspace of dimension \( k\) strictly smaller than the maximal dimension. More... | |
typedef Hidden_type | Construct_flat_orientation_d |
A construction object that must provide the templated operator | |
typedef Hidden_type | In_flat_orientation_d |
A predicate object that must provide the templated operator | |
typedef Hidden_type | Compare_lexicographically_d |
A predicate object that must provide the operator Comparison_result operator()(const Point_d & p, const Point_d & q) . More... | |
Creation | |
TriangulationTraits () | |
The default constructor. More... | |
Operations | |
The following methods permit access to the traits class's predicates: | |
Orientation_d | orientation_d_object () const |
Contained_in_affine_hull_d | contained_in_affine_hull_d_object () const |
Construct_flat_orientation_d | construct_flat_orientation_d_object () const |
In_flat_orientation_d | in_flat_orientation_d_object () const |
Compare_lexicographically_d | compare_lexicographically_d_object () const |
typedef Hidden_type TriangulationTraits::Compare_lexicographically_d |
A predicate object that must provide the operator Comparison_result operator()(const Point_d & p, const Point_d & q)
.
The operator returns SMALLER
if p
is lexicographically smaller than point q
, EQUAL
if both points are the same and LARGER
otherwise.
typedef Hidden_type TriangulationTraits::Construct_flat_orientation_d |
A construction object that must
provide the templated operator template<typename ForwardIterator> Flat_orientation_d operator()(ForwardIterator start, ForwardIterator end)
.
The flat spanned by the points in the range R=[start, end)
can be oriented in two different ways, the operator returns an object that allow to orient that flat so that R=[start, end)
defines a positive simplex.
Dimension
=CGAL::
Dimension_tag<D>
, then std::distance(start,end)=D+1
. The points in range [start,end)
must be affinely independent. typedef Hidden_type TriangulationTraits::Contained_in_affine_hull_d |
A predicate object that must provide the templated operator template<typename ForwardIterator> bool operator()(ForwardIterator start, ForwardIterator end, const Point_d & p)
.
The operator returns true
if and only if point p
is contained in the affine space spanned by the points in the range [start, end)
. That affine space is also called the affine hull of the points in the range.
Dimension
=CGAL::
Dimension_tag<D>
, then std::distance(start,end)=D+1
. The points in the range must be affinely independent. typedef Hidden_type TriangulationTraits::Dimension |
Orientation_d
predicate (but not necessarily the one of Point_d
).Tt can be static (Dimension
=CGAL::
Dimension_tag<int dim>
) or dynamic (Dimension
=CGAL::
Dynamic_dimension_tag
).
typedef Hidden_type TriangulationTraits::Flat_orientation_d |
A type representing an orientation of an affine subspace of
dimension \( k\) strictly smaller than the maximal dimension.
typedef Hidden_type TriangulationTraits::In_flat_orientation_d |
A predicate object that must provide the
templated operator template<typename ForwardIterator> Orientation operator()(Flat_orientation_d orient,ForwardIterator start, ForwardIterator end)
.
The operator returns CGAL::POSITIVE
, CGAL::NEGATIVE
or CGAL::COPLANAR
depending on the orientation of the simplex defined by the points in the range [start, end)
. The points are supposed to belong to the lower dimensional flat whose orientation is given by orient
.
std::distance(start,end)=k
where \( k\) is the number of points used to construct orient
. \( 2\leq k\leq D\). typedef Hidden_type TriangulationTraits::Orientation_d |
A predicate object that must provide the templated operator template<typename ForwardIterator> Orientation operator()(ForwardIterator start, ForwardIterator end)
.
[start, end)
; the value can be CGAL::POSITIVE
, CGAL::NEGATIVE
or CGAL::COPLANAR
. Dimension
=CGAL::
Dimension_tag<D>
, then std::distance(start,end)=D+1
. typedef Hidden_type TriangulationTraits::Point_d |
A type representing a point in Euclidean space.
It must be DefaultConstructible
, CopyConstructible
and Assignable
.
TriangulationTraits::TriangulationTraits | ( | ) |
The default constructor.
Compare_lexicographically_d TriangulationTraits::compare_lexicographically_d_object | ( | ) | const |
Construct_flat_orientation_d TriangulationTraits::construct_flat_orientation_d_object | ( | ) | const |
Contained_in_affine_hull_d TriangulationTraits::contained_in_affine_hull_d_object | ( | ) | const |
In_flat_orientation_d TriangulationTraits::in_flat_orientation_d_object | ( | ) | const |
Orientation_d TriangulationTraits::orientation_d_object | ( | ) | const |