/// <summary> /// This will actually make the halfedge and its twin. /// </summary> public HalfEdge(Face incidentFace, Face opposingFace) { System.Diagnostics.Debug.Assert(incidentFace != null); System.Diagnostics.Debug.Assert(opposingFace != null); IncidentFace = incidentFace; Twin = new HalfEdge(opposingFace); Twin.Twin = this; }
private static void CheckOffEdges(List<HalfEdge> checkoff, HalfEdge start) { var e = start; do { Assert.IsTrue(checkoff.Remove(e), "tried to pop an edge more than once:" + e); e = e.Next; } while (e != start); }