示例#1
0
        /////////////INSIDE_BELONGS_METHODS////////////
        ///////////////////////////////////////////////
        ///////////////ADDITIONAL_METHODS//////////////

        public virtual void AddVertex(GlPointR2 P)
        {
            if (P == null || P.isNullPoint())
            {
                return;
            }

            if (OnVertexAddingStart != null)
            {
                if (!OnVertexAddingStart.Invoke(P))
                {
                    return;
                }
            }

            if (OnVertexAdding != null)
            {
                OnVertexAdding.Invoke(P);
            }

            if (polyCenter == null)
            {
                polyCenter = P;
            }

            GlPointR2[] copy = this.vertexes;
            this.vertexes = new GlPointR2[this.vertexes.Length + 1];
            Array.Copy(copy, this.vertexes, copy.Length);
            this.vertexes[this.vertexes.Length - 1] = P;

            if (OnVertexAdded != null)
            {
                OnVertexAdded.Invoke(P);
            }
        }
示例#2
0
 /// <summary>
 /// Добавляет новую вершину в граф.
 /// </summary>
 /// <param name="Info">Данные для новой вершины.</param>
 public void AddVertex(String Info)
 {
     try
     {
         Vertex v = new Vertex(Info);
         vertexes.Add(v);
         OnVertexAdded?.Invoke(this, v);
         OnChange?.Invoke(this);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
示例#3
0
 /// <summary>
 /// Добавляет конкретную вершину в граф.
 /// </summary>
 /// <param name="NewVertex">Вершина для добавления.</param>
 public void AddVertex(Vertex NewVertex)
 {
     try
     {
         if (!vertexes.Contains(NewVertex))
         {
             vertexes.Add(NewVertex);
         }
         OnVertexAdded?.Invoke(this, NewVertex);
         OnChange?.Invoke(this);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }