/// <summary>
        /// Set the neighboring triangular faces (convex hull)
        /// </summary>
        /// <param name="neighbor">the neighboring triangular face</param>
        /// <param name="v1">a vertex of the shared edge</param>
        /// <param name="v2">the other vertex</param>
        public void SetNeighbor(TriangularFace neighbor, DualSite v1, DualSite v2)
        {
            Edge edge1 = this.GetEdge(v1, v2);

            if (edge1 != null)
            {
                edge1.SetFace(neighbor);
                Edge edge2 = neighbor.GetEdge(v1, v2);
                edge2.SetFace(this);
            }
        }
 /// <summary>
 /// Set the neighboring face which has the same edge (this edge)
 /// </summary>
 /// <param name="f">the neighboring face</param>
 public void SetFace(TriangularFace f)
 {
     this.NeighborFace = f;
 }