/// <summary> /// /// </summary> /// <param name="face"></param> public void Triangulate(F face) { face.UnusedCheck(); _mesh.Faces.OwnsCheck(face); var he0 = _getStart(face); var he1 = he0.Next.Next; while (he1.Next != he0) { he0 = _mesh.SplitFaceImpl(he0, he1).Previous; if (he1.Next == he0) { break; } he0 = _mesh.SplitFaceImpl(he0, he1); he1 = he1.Next; } }
/// <inheritdoc /> public void Quadrangulate(F face) { face.UnusedCheck(); _mesh.Faces.OwnsCheck(face); var he0 = _getStart(face); var he1 = he0.Next.Next.Next; while (he1 != he0 && he1.Next != he0) { he0 = _mesh.SplitFaceImpl(he0, he1).Previous; he1 = he1.Next; } }