88: def add_edge( oNodeOne, oNodeTwo, *hOpt )
89:
90: if( oNodeOne.class == Array )
91: oNodeOne.each do |no|
92: add_edge( no, oNodeTwo, *hOpt )
93: end
94: else
95: if( oNodeTwo.class == Array )
96: oNodeTwo.each do |nt|
97: add_edge( oNodeOne, nt, *hOpt )
98: end
99: else
100:
101: oEdge = GraphViz::Edge::new( oNodeOne, oNodeTwo, self )
102:
103: if hOpt.nil? == false and hOpt[0].nil? == false
104: hOpt[0].each do |xKey, xValue|
105: oEdge[xKey.to_s] = xValue
106: end
107: end
108:
109: @elements_order.push( {
110: "type" => "edge",
111: "value" => oEdge
112: } )
113: @loEdges.push( oEdge )
114:
115: return( oEdge )
116: end
117: end
118: end