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

CGAL 6.1.2 - 2D and 3D Linear Geometry Kernel

Loading...
Searching...
No Matches
List of all members
Kernel::CompareDihedralAngle_3 Concept Reference
Reference Manual » Concepts » Kernel Function Object Concepts

## 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\).
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)`.
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\).
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)`.

## 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.