double MeshDenoisingViaL0Minimization::getAverageDihedralAngle(TriMesh &mesh) { mesh.request_face_normals(); mesh.update_face_normals(); double mean_dihedral_angle = 0.0; double num = 0.0; for(TriMesh::EdgeIter e_it = mesh.edges_begin(); e_it != mesh.edges_end(); e_it++) { if(!mesh.is_boundary(*e_it)) mean_dihedral_angle += mesh.calc_dihedral_angle(*e_it); num++; } return mean_dihedral_angle / num; }