void PartialAction :: deleteEdgeFace ( WingedMesh& mesh, WingedEdge& edge , AffectedFaces& affectedFaces) { #ifndef NDEBUG const unsigned int numEdgesLeft = edge.leftFaceRef ().numEdges (); const unsigned int numEdgesRight = edge.rightFaceRef ().numEdges (); #endif assert (numEdgesLeft >= 2); assert (numEdgesRight >= 2); WingedFace& faceToDelete = edge.rightFaceRef (); WingedFace& remainingFace = edge.leftFaceRef (); assert (faceToDelete != remainingFace); affectedFaces.remove (faceToDelete); affectedFaces.insert (remainingFace); dissolveEdgeFace (edge); mesh.deleteEdge (edge); mesh.deleteFace (faceToDelete); assert (remainingFace.numEdges () >= 3); assert (remainingFace.numEdges () == numEdgesLeft + numEdgesRight - 2); }
void PartialAction :: relaxEdge (WingedMesh& mesh, WingedEdge& edge, AffectedFaces& affectedFaces) { if (relaxableEdge (edge)) { affectedFaces.insert (edge.leftFaceRef ()); affectedFaces.insert (edge.rightFaceRef ()); PartialAction::flipEdge (mesh, edge); } }