Search code examples
graphicsopenmesh

Calculate signed dihedral angle


OpenMesh has the calc_dihedral_angle() function to calculate the dihedral angle between two faces. Is there a signed/directed equivalent of this function? Halfedges of faces are directed, thus normals of faces are well defined. It is thus meaningful to talk about the convexity.

Consider the following simple case, of only two connected faces. Starting from a zero dihedral (in-plane neighboring faces) one can rotate one of the faces around the common edge in either direction. In one case, the surface will be convex, in the other case, it will be concave. calc_dihedral_angle() does not differentiate between the two. I am looking for a function which takes this directionality into account and gives either a positive or a negative dihedral, depending on the convexity.


Solution

  • Actually that is exactly what calc_dihedral_angle() does.