CGAL 5.1 - 3D Triangulations
TriangulationTraits_3 Class Reference

#include <Concepts/TriangulationTraits_3.h>

Definition

Refines:
SpatialSortingTraits_3

The concept TriangulationTraits_3 is the first template parameter of the class Triangulation_3. It defines the geometric objects (points, segments, triangles and tetrahedra) forming the triangulation together with a few geometric predicates and constructions on these objects: lexicographical comparison, orientation in case of coplanar points and orientation in space.

Has Models:
All models of Kernel.
See also
CGAL::Triangulation_3

Types

typedef unspecified_type Point_3
 The point type. More...
 
typedef unspecified_type Segment_3
 The segment type. More...
 
typedef unspecified_type Triangle_3
 The triangle type. More...
 
typedef unspecified_type Tetrahedron_3
 The tetrahedron type. More...
 
typedef unspecified_type Construct_point_3
 A constructor object that must provide the function operator. More...
 
typedef unspecified_type Construct_segment_3
 A constructor object that must provide the function operator. More...
 
typedef unspecified_type Construct_triangle_3
 A constructor object that must provide the function operator. More...
 
typedef unspecified_type Construct_tetrahedron_3
 A constructor object that must provide the function operator. More...
 
typedef unspecified_type Compare_xyz_3
 A predicate object that must provide the function operator. More...
 
typedef unspecified_type Coplanar_orientation_3
 A predicate object that must provide the function operator. More...
 
typedef unspecified_type Orientation_3
 A predicate object that must provide the function operator. More...
 

Creation

 Triangulation_traits_3 ()
 Default constructor. More...
 
 Triangulation_traits_3 (const Triangulation_traits_3 &tr)
 Copy constructor. More...
 

Operations

The following functions give access to the predicate and construction objects:

Construct_point_3 construct_point_3_object ()
 
Construct_segment_3 construct_segment_3_object ()
 
Construct_triangle_3 construct_triangle_3_object ()
 
Construct_tetrahedron_3 construct_tetrahedron_3_object ()
 
Compare_xyz_3 compare_xyz_3_object ()
 
Coplanar_orientation_3 coplanar_orientation_3_object ()
 
Orientation_3 orientation_3_object ()
 

Member Typedef Documentation

◆ Compare_xyz_3

typedef unspecified_type TriangulationTraits_3::Compare_xyz_3

A predicate object that must provide the function operator.

Comparison_result operator()(Point_3 p, Point_3 q),

which returns EQUAL if the two points are equal. Otherwise it must return a consistent order for any two points chosen in a same line.

◆ Construct_point_3

typedef unspecified_type TriangulationTraits_3::Construct_point_3

A constructor object that must provide the function operator.

Point_3 operator()(Point_3 p),

which simply returns p.

Note
It is advised to return a const reference to p to avoid useless copies.
This peculiar requirement is necessary because CGAL::Triangulation_3 internally manipulates points with a Point type that is not always Point_3.

◆ Construct_segment_3

A constructor object that must provide the function operator.

Segment_3 operator()(Point_3 p, Point_3 q),

which constructs a segment from two points.

◆ Construct_tetrahedron_3

A constructor object that must provide the function operator.

Tetrahedron_3 operator()(Point_3 p, Point_3 q, Point_3 r, Point_3 s),

which constructs a tetrahedron from four points.

◆ Construct_triangle_3

A constructor object that must provide the function operator.

Triangle_3 operator()(Point_3 p, Point_3 q, Point_3 r ),

which constructs a triangle from three points.

◆ Coplanar_orientation_3

A predicate object that must provide the function operator.

Orientation operator()(Point_3 p, Point_3 q, Point_3 r),

which returns COLLINEAR if the points are collinear. Otherwise it must return a consistent orientation for any three points chosen in a same plane.

◆ Orientation_3

typedef unspecified_type TriangulationTraits_3::Orientation_3

A predicate object that must provide the function operator.

Orientation operator()(Point_3 p, Point_3 q, Point_3 r, Point_3 s),

which returns POSITIVE, if s lies on the positive side of the oriented plane h defined by p, q, and r, returns NEGATIVE if s lies on the negative side of h, and returns COPLANAR if s lies on h.

◆ Point_3

typedef unspecified_type TriangulationTraits_3::Point_3

The point type.

It must be DefaultConstructible, CopyConstructible and Assignable.

◆ Segment_3

typedef unspecified_type TriangulationTraits_3::Segment_3

The segment type.

◆ Tetrahedron_3

typedef unspecified_type TriangulationTraits_3::Tetrahedron_3

The tetrahedron type.

◆ Triangle_3

typedef unspecified_type TriangulationTraits_3::Triangle_3

The triangle type.

Member Function Documentation

◆ compare_xyz_3_object()

Compare_xyz_3 TriangulationTraits_3::compare_xyz_3_object ( )

◆ construct_point_3_object()

Construct_point_3 TriangulationTraits_3::construct_point_3_object ( )

◆ construct_segment_3_object()

Construct_segment_3 TriangulationTraits_3::construct_segment_3_object ( )

◆ construct_tetrahedron_3_object()

Construct_tetrahedron_3 TriangulationTraits_3::construct_tetrahedron_3_object ( )

◆ construct_triangle_3_object()

Construct_triangle_3 TriangulationTraits_3::construct_triangle_3_object ( )

◆ coplanar_orientation_3_object()

Coplanar_orientation_3 TriangulationTraits_3::coplanar_orientation_3_object ( )

◆ orientation_3_object()

Orientation_3 TriangulationTraits_3::orientation_3_object ( )

◆ Triangulation_traits_3() [1/2]

TriangulationTraits_3::Triangulation_traits_3 ( )

Default constructor.

◆ Triangulation_traits_3() [2/2]

TriangulationTraits_3::Triangulation_traits_3 ( const Triangulation_traits_3 &  tr)

Copy constructor.