INTERFACE CurvEnergy; IMPORT Energy; TYPE T <: Public; Public = Energy.T OBJECT METHODS init(): T; END; (* The "Curv" energy measures the outer dihedral angles between adjacent faces, times the length of the edge. This energy is computed only for edges that exist, separate two faces that exist, and have the "spring" bit set. The energy depends on "I" and the actual projected angle "A", as "(1 - cos(A-I))/(cos A)^2"; which goes to infinity when "A=0" or "A=Pi", and is zero iff "A=I". *) END CurvEnergy.