gorgonia.org/gorgonia@v0.9.17/encoding/dot/copy.go (about)

     1  package dot
     2  
     3  import (
     4  	"gonum.org/v1/gonum/graph"
     5  	"gorgonia.org/gorgonia"
     6  )
     7  
     8  func copyGraph(dst graph.Builder, src graph.Graph) {
     9  	nodes := src.Nodes()
    10  	for nodes.Next() {
    11  		current := nodes.Node().(*gorgonia.Node)
    12  		dst.AddNode(&node{
    13  			n: current,
    14  		})
    15  	}
    16  	nodes.Reset()
    17  	for nodes.Next() {
    18  		u := &node{
    19  			n: nodes.Node().(*gorgonia.Node),
    20  		}
    21  		uid := u.ID()
    22  		to := src.From(uid)
    23  		for to.Next() {
    24  			v := &node{
    25  				n: to.Node().(*gorgonia.Node),
    26  			}
    27  			dst.SetEdge(dst.NewEdge(u, v))
    28  			//dst.SetEdge(src.Edge(uid, v.ID()))
    29  		}
    30  	}
    31  }