Beispiel #1
0
 /// <summary>
 /// Adds an existing vertex to the cluster
 /// </summary>
 /// <param name="v">vertex to add</param>
 public virtual void AddVertex(IVertex v)
 {
     if (v == null)
     {
         throw new ArgumentNullException("v");
     }
     if (Parent != null && !Parent.ContainsVertex(v))
     {
         Parent.AddVertex(v);
     }
     Wrapped.AddVertex(v);
 }
Beispiel #2
0
        /// <summary>
        /// Adds a vertex to this graph.
        /// </summary>
        /// <param name="vertex">Vertex to add.</param>
        /// <returns>True if the vertex was added, false otherwise.</returns>
        public virtual bool AddVertex([NotNull] TVertex vertex)
        {
            if (vertex == null)
            {
                throw new ArgumentNullException(nameof(vertex));
            }

            if (!(Parent is null || Parent.ContainsVertex(vertex)))
            {
                Parent.AddVertex(vertex);
                return(Wrapped.AddVertex(vertex));
            }

            return(Wrapped.AddVertex(vertex));
        }
Beispiel #3
0
 /// <summary>
 /// Adds a new vertex to the cluster
 /// </summary>
 /// <returns>new vertex</returns>
 public virtual IVertex AddVertex()
 {
     if (Parent != null)
     {
         // add new vertex in the parent
         IVertex v = Parent.AddVertex();
         // add new vertex in the cluster
         Wrapped.AddVertex(v);
         // return vertex
         return(v);
     }
     else
     {
         return(Wrapped.AddVertex());
     }
 }