/// <summary> /// Computes the angle defect at the given vertex /// </summary> /// <param name="vertex">Vertex to compute angle defect.</param> /// <returns>Number representing the deviation of the current vertex from $2\PI$</returns> public static double AngleDefect(HE_Vertex vertex) { double angleSum = 0.0; foreach (HE_Corner c in vertex.adjacentCorners()) { angleSum += Angle(c); } //if (vertex.OnBoundary()) angleSum = Math.PI - angleSum; return(vertex.OnBoundary() ? Math.PI - angleSum : 2 * Math.PI - angleSum); }