FunctionObjectConcept

Kernel::CompareDihedralAngle_3

A model for this must provide:

Comparison_result fo.operator() ( K::Point_3 a1, K::Point_3 b1, K::Point_3 c1, K::Point_3 d1, K::FT cosine)
compares the dihedral angles theta1 and theta2, where theta1 is the dihedral angle, in [0, π], of the tetrahedron (a1, b1, c1, d1) at the edge (a1, b1), and theta2 is the angle in [0, π] such that cos(theta2) = cosine. The result is the same as operator()(b1-a1, c1-a1, d1-a1, cosine).
Precondition: a1, b1, c1 are not collinear, and a1, b1, d1 are not collinear.

Comparison_result
fo.operator() ( K::Point_3 a1,
K::Point_3 b1,
K::Point_3 c1,
K::Point_3 d1,
K::Point_3 a2,
K::Point_3 b2,
K::Point_3 c2,
K::Point_3 d2)
compares the dihedral angles theta1 and theta2, where thetai is the dihedral angle in the tetrahedron (ai, bi, ci, di) at the edge (ai, bi). These two angles are computed in [0, π]. The result is the same as operator()(b1-a1, c1-a1, d1-a1, b2-a2, c2-a2, d2-a2).
Precondition: For i {1,2}, ai, bi, ci are not collinear, and ai, bi, di are not collinear.

Comparison_result fo.operator() ( K::Vector_3 u1, K::Vector_3 v1, K::Vector_3 w1, K::FT cosine)
compares the dihedral angles theta1 and theta2, where theta1 is the dihedral angle, in [0, π], between the vectorial planes defined by (u1, v1) and (u1, w1), and theta2 is the angle in [0, π] such that cos(theta2) = cosine.
Precondition: u1 and v1 are not collinear, and u1 and w1 are not collinear.

Comparison_result
fo.operator() ( K::Vector_3 u1,
K::Vector_3 v1,
K::Vector_3 w1,
K::Vector_3 u2,
K::Vector_3 v2,
K::Vector_3 w2)
compares the dihedral angles theta1 and theta2, where thetai is the dihedral angle between the vectorial planes defined by (ui, vi) and (ui, wi). These two angles are computed in [0, π].
Precondition: For i {1,2}, ui and vi are not collinear, and ui and wi are not collinear.