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

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

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