/// <summary>
 /// Creates a new triangle from the given edges.
 /// </summary>
 /// <param name="edge">An array of the edges of the triangle in CCW order</param>
 public QuadEdgeTriangle(QuadEdge[] edge)
 {
     _edge = (QuadEdge[]) edge.Clone();
     // link the quadedges back to this triangle
     for (int i = 0; i < 3; i++)
     {
         edge[i].Data = this;
     }
 }
 public void Visit(QuadEdge[] triEdges)
 {
     _triList.Add((QuadEdge[])triEdges.Clone());
 }