def add_edge( oNodeOne, oNodeTwo, hOpts = {} )
if( oNodeOne.class == Array )
oNodeOne.each do |no|
add_edge( no, oNodeTwo, hOpts )
end
else
if( oNodeTwo.class == Array )
oNodeTwo.each do |nt|
add_edge( oNodeOne, nt, hOpts )
end
else
oEdge = GraphViz::Edge::new( oNodeOne, oNodeTwo, self )
oEdge.index = @elements_order.size_of( "edge" )
hOpts.each do |xKey, xValue|
oEdge[xKey.to_s] = xValue
end
@elements_order.push( {
"type" => "edge",
"value" => oEdge
} )
@loEdges.push( oEdge )
return( oEdge )
end
end
end