Example #1
0
 public Vertex[] CreateVertices(int count)
 {
     Vertex[] buff = new Vertex[count];
     for(int i = 0; i < count; i++)
         buff[i] = CreateVertex();
     return buff;
 }
Example #2
0
 public Vertex CreateVertex()
 {
     Vertex v = new Vertex();
     v.OwnerShape = this;
     v.Idx = Vertices.Count;
     Vertices.Add(v);
     return v;
 }
Example #3
0
 public void SetVertex(int idx, Vertex v)
 {
     if (Vertices[idx] != v)
     {
         if (Vertices[idx] != null)
         {
             Vertices[idx].OwnerEdges.Remove(this);
             Vertices[idx] = null;
         }
         if (v != null)
         {
             Vertices[idx] = v;
             Vertices[idx].OwnerEdges.Add(this);
         }
     }
 }
Example #4
0
 public void RemoveVertex(Vertex v)
 {
     v.OwnerFaces.Remove(this);
     Vertices.Remove(v);
 }
Example #5
0
 public void AddVertex(Vertex v)
 {
     v.OwnerFaces.Add(this);
     Vertices.Add(v);
 }
Example #6
0
        /// <summary>
        /// Creates N vertices and N edges, joined in a ring
        /// </summary>
        /// <param name="num_centre_verts"></param>
        public void CreateLinkedEdgeAndVertexRing(int num_centre_verts, out Vertex[] vertices, out Edge[] edges)
        {
            edges = CreateEdges(num_centre_verts);
            vertices = CreateVertices(num_centre_verts);

            for (int i = 0; i < (vertices.Length-1); i++)
            {
                edges[i].SetVertex(0, vertices[i]);
                edges[i].SetVertex(1, vertices[i + 1]);
            }

            edges.Last().SetVertex(0, vertices.Last());
            edges.Last().SetVertex(1, vertices.First());
        }