121: def add_edge( oNodeOne, oNodeTwo, *hOpt )
122:
123: if( oNodeOne.class == Array )
124: oNodeOne.each do |no|
125: add_edge( no, oNodeTwo, *hOpt )
126: end
127: else
128: if( oNodeTwo.class == Array )
129: oNodeTwo.each do |nt|
130: add_edge( oNodeOne, nt, *hOpt )
131: end
132: else
133:
134: oEdge = GraphViz::Edge::new( oNodeOne, oNodeTwo, self )
135:
136: if hOpt.nil? == false and hOpt[0].nil? == false
137: hOpt[0].each do |xKey, xValue|
138: oEdge[xKey.to_s] = xValue
139: end
140: end
141:
142: @elements_order.push( {
143: "type" => "edge",
144: "value" => oEdge
145: } )
146: @loEdges.push( oEdge )
147:
148: return( oEdge )
149: end
150: end
151: end