CGAL 6.2 - 3D Generalized Barycentric Coordinates
Loading...
Searching...
No Matches
BarycentricTraits_3 Concept Reference

Definition

A concept that describes the set of requirements of the template parameter GeomTraits used to parameterize all classes and functions with 3D barycentric coordinates from the namespace CGAL::Barycentric_coordinates. The concept BarycentricTraits_3 extends the concept BarycentricTraits_2 and adds the requirements for 3D objects.

Generalizes:
BarycentricTraits_2
Has models
All models of the CGAL concept Kernel

Types

typedef unspecified_type FT
 A model of FieldNumberType.
 

3D Geometric Objects

typedef unspecified_type Point_3
 A model of Kernel::Point_3.
 
typedef unspecified_type Vector_3
 A model of Kernel::Vector_3.
 
typedef unspecified_type Plane_3
 A model of Kernel::Plane_3.
 

2D Geometric Objects

typedef unspecified_type Point_2
 A model of Kernel::Point_2.
 
typedef unspecified_type Vector_2
 A model of Kernel::Vector_2.
 
typedef unspecified_type Triangle_2
 A model of Kernel::Triangle_2.
 
typedef unspecified_type Iso_rectangle_2
 A model of Kernel::Iso_rectangle_2.
 

3D Generalized Constructions

typedef unspecified_type Compute_approximate_angle_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Compute_determinant_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Compute_scalar_product_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Compute_squared_length_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Compute_volume_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Cartesian_const_iterator_3
 A model of CartesianConstIterator_3.
 
typedef unspecified_type Construct_cartesian_const_iterator_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_cross_product_vector_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_projected_xy_point_2
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_plane_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_divided_vector_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_point_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_scaled_vector_3
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_vector_3
 A construction object that must provide the function operator:
 

2D Generalized Constructions

typedef unspecified_type Compute_area_2
 A construction object that must provide the function operator:
 
typedef unspecified_type Compute_squared_distance_2
 A construction object that must provide the function operator:
 
typedef unspecified_type Compute_scalar_product_2
 A construction object that must provide the function operator:
 
typedef unspecified_type Construct_vector_2
 A construction object that must provide the function operator:
 

2D Generalized Predicates

typedef unspecified_type Collinear_2
 A predicate object that must provide the function operator:
 
typedef unspecified_type Collinear_are_ordered_along_line_2
 A predicate object that must provide the function operator:
 
typedef unspecified_type Compare_x_2
 A predicate object that must provide the function operator:
 
typedef unspecified_type Compare_y_2
 A predicate object that must provide the function operator:
 
typedef unspecified_type Equal_2
 A predicate object that must provide the function operator:
 
typedef unspecified_type Less_xy_2
 A predicate object that must provide the function operator:
 
typedef unspecified_type Orientation_2
 A predicate object that must provide the function operator:
 
Collinear_2 collinear_2_object ()
 The following functions give access to the predicate and constructor objects.
 

Member Typedef Documentation

◆ Collinear_2

A predicate object that must provide the function operator:

bool operator()(Point_2 p, Point_2 q, Point_2 r)

that returns true if the points p, q, and r are collinear and false otherwise.

◆ Collinear_are_ordered_along_line_2

A predicate object that must provide the function operator:

bool operator()(Point_2 p, Point_2 q, Point_2 r)

that returns true, iff q lies between p and r and p, q, and r satisfy the precondition that they are collinear.

◆ Compare_x_2

A predicate object that must provide the function operator:

Comparison_result operator()(Point_2 p, Point_2 q)

that returns SMALLER, EQUAL or LARGER according to the \( x\)-ordering of points p and q.

◆ Compare_y_2

A predicate object that must provide the function operator:

Comparison_result operator()(Point_2 p, Point_2 q)

that returns SMALLER, EQUAL or LARGER according to the \( y\)-ordering of points p and q.

◆ Compute_approximate_angle_3

A construction object that must provide the function operator:

FT operator(Vector_3 u, Vector_3 v)

that returns an approximation of the angle between u and v. The angle is given in degrees.

◆ Compute_area_2

A construction object that must provide the function operator:

FT operator(Point_2 p0, Point_2 p1, Point_3 p2)

that returns the signed area of the triangle defined by the three points p0, p1, and p2.

◆ Compute_determinant_3

A construction object that must provide the function operator:

FT operator(Vector_3 u, Vector_3 v, Vector_3 w)

that returns the determinant of the three vectors u, v and w.

◆ Compute_scalar_product_2

A construction object that must provide the function operator:

FT operator()(Vector_2 v, Vector_2 w)

that returns the scalar product of the vectors v and w.

◆ Compute_scalar_product_3

A construction object that must provide the function operator:

FT operator(Vector_3 v, Vector_3 w)

that returns the scalar (inner) product of the two vectors v and w.

◆ Compute_squared_distance_2

A construction object that must provide the function operator:

FT operator()(Point_2 p, Point_2 q),

which returns the squared distance between p and q.

◆ Compute_squared_length_3

A construction object that must provide the function operator:

FT operator()(const Vector_3& v)

that returns the squared length of the vector v.

◆ Compute_volume_3

A construction object that must provide the function operator:

FT operator(Point_3 p0, Point_3 p1, Point_3 p2, Point_3 p3)

that returns the signed volume of the tetrahedron defined by the four points p0, p1, p2, and p3.

◆ Construct_cartesian_const_iterator_3

A construction object that must provide the function operator:

Cartesian_const_iterator_3 operator() (Point_3 p)

returns an iterator on the zeroth Cartesian coordinate of p.

◆ Construct_cross_product_vector_3

A construction object that must provide the function operator:

Vector_3 operator(Vector_3 u, Vector_3 v)

that returns the cross product between u and v.

◆ Construct_divided_vector_3

A construction object that must provide the function operator:

Vector_3 operator()(Vector_3 v, FT t)

returning the vector v / t.

◆ Construct_plane_3

A construction object that must provide the function operator:

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

which constructs a plane passing through p, q, and r and oriented in a positive sense when seen from the positive side of the plane.

◆ Construct_point_3

A construction object that must provide the function operator:

Point_3 operator(FT x, FT y, FT z)

that returns the point with coordinates x, y and z.

◆ Construct_projected_xy_point_2

A construction object that must provide the function operator:

Point_2 operator()(Plane_3 h, Point_3 p),

which returns image point of the projection of p under an affine transformation, which maps h onto the xy-plane, with the z-coordinate removed.

◆ Construct_scaled_vector_3

A construction object that must provide the function operator:

Vector_3 operator()(Vector_3 v, FT t)

returning the vector v * t.

◆ Construct_vector_2

A construction object that must provide the function operator:

Vector_2 operator()(Point_2 a, Point_2 b)

that computes the vector b-a.

◆ Construct_vector_3

A construction object that must provide the function operator:

Vector_3 operator(Point_3 p, Point_3 q)

that returns the vector q - p.

◆ Equal_2

A predicate object that must provide the function operator:

bool operator()(Point_2 p, Point_2 q),

which returns true iff p is equal to q.

◆ Less_xy_2

A predicate object that must provide the function operator:

bool operator()(Point_2 p, Point_2 q)

where true is returned iff \( p <_{xy} q\). We have \( p<_{xy}q\), iff \( p_x < q_x\) or \( p_x = q_x\) and \( p_y < q_y\), where \( p_x\) and \( p_y\) denote \( x\) and \( y\) coordinate of point \( p\), respectively.

◆ Orientation_2

A predicate object that must provide the function operator:

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

that returns CGAL::LEFT_TURN if r lies to the left of the oriented line l defined by p and q, returns CGAL::RIGHT_TURN if r lies to the right of l, and returns CGAL::COLLINEAR if r lies on l.