Beispiel #1
0
 /// <summary>
 /// Removes an Edge and its associated DirectedEdges from their from-Nodes and
 /// from this PlanarGraph. Note: This method does not remove the Nodes associated
 /// with the Edge, even if the removal of the Edge reduces the degree of a
 /// Node to zero.
 /// </summary>
 /// <param name="edge"></param>
 public void Remove(Edge edge)
 {
     Remove(edge.GetDirEdge(0));
     Remove(edge.GetDirEdge(1));
     edges.Remove(edge);
     edge.Remove();
 }
Beispiel #2
0
        /// <summary>
        /// Adds an <see cref="Edge" /> to the subgraph.
        /// The associated <see cref="DirectedEdge" />s and <see cref="Node" />s are also added.
        /// </summary>
        /// <param name="e">The <see cref="Edge" /> to add.</param>
        public void Add(Edge e)
        {                        
            if (edges.Contains(e))  
                return;

            edges.Add(e);

            dirEdges.Add(e.GetDirEdge(0));
            dirEdges.Add(e.GetDirEdge(1));
            
            nodeMap.Add(e.GetDirEdge(0).FromNode);
            nodeMap.Add(e.GetDirEdge(1).FromNode);            
        }
Beispiel #3
0
        /// <summary>
        /// Adds an <see cref="Edge" /> to the subgraph.
        /// The associated <see cref="DirectedEdge" />s and <see cref="Node" />s are also added.
        /// </summary>
        /// <param name="e">The <see cref="Edge" /> to add.</param>
        public void Add(Edge e)
        {
            if (edges.Contains(e))
            {
                return;
            }

            edges.Add(e);

            dirEdges.Add(e.GetDirEdge(0));
            dirEdges.Add(e.GetDirEdge(1));

            nodeMap.Add(e.GetDirEdge(0).FromNode);
            nodeMap.Add(e.GetDirEdge(1).FromNode);
        }
Beispiel #4
0
 /// <summary>
 /// Adds the Edge and its DirectedEdges with this PlanarGraph.
 /// Assumes that the Edge has already been created with its associated DirectEdges.
 /// Only subclasses can add Edges, to ensure the edges added are of the right class.
 /// </summary>
 /// <param name="edge"></param>
 protected void Add(Edge edge)
 {
     edges.Add(edge);
     Add(edge.GetDirEdge(0));
     Add(edge.GetDirEdge(1));
 }
Beispiel #5
0
 /// <summary>
 /// Adds the Edge and its DirectedEdges with this PlanarGraph.
 /// Assumes that the Edge has already been created with its associated DirectEdges.
 /// Only subclasses can add Edges, to ensure the edges added are of the right class.
 /// </summary>
 /// <param name="edge"></param>
 protected void Add(Edge edge)
 {
     edges.Add(edge);
     Add(edge.GetDirEdge(0));
     Add(edge.GetDirEdge(1));
 }
Beispiel #6
0
 /// <summary>
 /// Removes an Edge and its associated DirectedEdges from their from-Nodes and
 /// from this PlanarGraph. Note: This method does not remove the Nodes associated
 /// with the Edge, even if the removal of the Edge reduces the degree of a
 /// Node to zero.
 /// </summary>
 /// <param name="edge"></param>
 public void Remove(Edge edge)
 {
     Remove(edge.GetDirEdge(0));
     Remove(edge.GetDirEdge(1));
     edges.Remove(edge);
     edge.Remove();
 }