public static double OpeningAngleD(NGonsCore.geometry3Sharp.mesh.DMesh3 mesh, int eid) { Index2i et = mesh.GetEdgeT(eid); if (et[1] == NGonsCore.geometry3Sharp.mesh.DMesh3.InvalidID) { return(double.MaxValue); // boundary edge!! } Vector3D n0 = mesh.GetTriNormal(et[0]); Vector3D n1 = mesh.GetTriNormal(et[1]); return(Vector3D.AngleD(n0, n1)); }