CGAL 5.1.5 - 2D and 3D Linear Geometry Kernel
Kernel::CompareDihedralAngle_3 Concept Reference

Definition

Operations

A model of this concept must provide:

Comparison_result operator() (const K::Point_3 &a1, const K::Point_3 &b1, const K::Point_3 &c1, const K::Point_3 &d1, const K::FT &cosine)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_1\) is the dihedral angle, in \( [0, \pi]\), of the tetrahedron \( (a_1, b_1, c_1, d_1)\) at the edge (a_1, b_1), and \( \theta_2\) is the angle in \( [0, \pi]\) such that \( cos(\theta_2) = cosine\). More...
 
Comparison_result operator() (const K::Point_3 &a1, const K::Point_3 &b1, const K::Point_3 &c1, const K::Point_3 &d1, const K::Point_3 &a2, const K::Point_3 &b2, const K::Point_3 &c2, const K::Point_3 &d2)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_i\) is the dihedral angle in the tetrahedron (a_i, b_i, c_i, d_i) at the edge (a_i, b_i). More...
 
Comparison_result operator() (const K::Vector_3 &u1, const K::Vector_3 &v1, const K::Vector_3 &w1, const K::FT &cosine)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_1\) is the dihedral angle, in \( [0, \pi]\), between the vectorial planes defined by (u_1, v_1) and (u_1, w_1), and \( \theta_2\) is the angle in \( [0, \pi]\) such that \( cos(\theta_2) = cosine\). More...
 
Comparison_result operator() (const K::Vector_3 &u1, const K::Vector_3 &v1, const K::Vector_3 &w1, const K::Vector_3 &u2, const K::Vector_3 &v2, const K::Vector_3 &w2)
 compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_i\) is the dihedral angle between the vectorial planes defined by (u_i, v_i) and (u_i, w_i). More...
 

Member Function Documentation

◆ operator()() [1/4]

Comparison_result Kernel::CompareDihedralAngle_3::operator() ( const K::Point_3 &  a1,
const K::Point_3 &  b1,
const K::Point_3 &  c1,
const K::Point_3 &  d1,
const K::FT &  cosine 
)

compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_1\) is the dihedral angle, in \( [0, \pi]\), of the tetrahedron \( (a_1, b_1, c_1, d_1)\) at the edge (a_1, b_1), and \( \theta_2\) is the angle in \( [0, \pi]\) such that \( cos(\theta_2) = cosine\).

The result is the same as operator()(b1-a1, c1-a1, d1-a1, cosine).

Precondition
a_1, b_1, c_1 are not collinear, and a_1, b_1, d_1 are not collinear.

◆ operator()() [2/4]

Comparison_result Kernel::CompareDihedralAngle_3::operator() ( const K::Point_3 &  a1,
const K::Point_3 &  b1,
const K::Point_3 &  c1,
const K::Point_3 &  d1,
const K::Point_3 &  a2,
const K::Point_3 &  b2,
const K::Point_3 &  c2,
const K::Point_3 &  d2 
)

compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_i\) is the dihedral angle in the tetrahedron (a_i, b_i, c_i, d_i) at the edge (a_i, b_i).

These two angles are computed in \( [0, \pi]\). The result is the same as operator()(b1-a1, c1-a1, d1-a1, b2-a2, c2-a2, d2-a2).

Precondition
For \( i \in\{1,2\}\), a_i, b_i, c_i are not collinear, and a_i, b_i, d_i are not collinear.

◆ operator()() [3/4]

Comparison_result Kernel::CompareDihedralAngle_3::operator() ( const K::Vector_3 &  u1,
const K::Vector_3 &  v1,
const K::Vector_3 &  w1,
const K::FT &  cosine 
)

compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_1\) is the dihedral angle, in \( [0, \pi]\), between the vectorial planes defined by (u_1, v_1) and (u_1, w_1), and \( \theta_2\) is the angle in \( [0, \pi]\) such that \( cos(\theta_2) = cosine\).

Precondition
u_1 and v_1 are not collinear, and u_1 and w_1 are not collinear.

◆ operator()() [4/4]

Comparison_result Kernel::CompareDihedralAngle_3::operator() ( const K::Vector_3 &  u1,
const K::Vector_3 &  v1,
const K::Vector_3 &  w1,
const K::Vector_3 &  u2,
const K::Vector_3 &  v2,
const K::Vector_3 &  w2 
)

compares the dihedral angles \( \theta_1\) and \( \theta_2\), where \( \theta_i\) is the dihedral angle between the vectorial planes defined by (u_i, v_i) and (u_i, w_i).

These two angles are computed in \( [0, \pi]\).

Precondition
For \( i \in\{1,2\}\), u_i and v_i are not collinear, and u_i and w_i are not collinear.