/////////////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); } }
/// <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); } }
/// <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); } }