public UVMeshEdge(UVMesh parentMesh, UVMeshVertex start, UVMeshVertex end, int index)
 {
     _start      = start;
     _end        = end;
     _parentmesh = parentMesh;
     _index      = index;
 }
 /// <summary>
 /// Creates a UVMesh
 /// </summary>
 /// <param name="nU">Number of faces in the U direction</param>
 /// <param name="nV">Number of faces in the V direction</param>
 /// <param name="points">List of points </param>
 /// <param name="isClosedU">Boolean stating whether the mesh is periodic along U</param>
 /// <param name="isClosedV">Boolean stating whether the mesh is perdiodic along V</param>
 public UVMesh(int nU, int nV, List <Point3d> points, bool isClosedU, bool isClosedV)
 {
     _nU        = nU;
     _nV        = nV;
     _isclosedU = isClosedU;
     _isclosedV = isClosedV;
     Vertices   = new List <UVMeshVertex>();
     Faces      = new List <UVMeshFace>();
     for (int i = 0; i < points.Count; i++)
     {
         var vertex = new UVMeshVertex(points[i], i);
         Vertices.Add(vertex);
     }
 }