/// <summary> /// Gets the weight from the given edge and sets the direction. /// </summary> public sealed override float GetEdgeWeight(DynamicEdge edge, out bool?direction) { float weight; Data.Contracted.Edges.ContractedEdgeDataSerializer.Deserialize(edge.Data[0], out weight, out direction); return(weight); }
void generateRigEdges(Dictionary <Node, VisualNode> visual_nodes, float radius) { foreach (GameObject g in colombs_nodes) { VisualNode n = g.GetComponent <VisualNode>(); Node node = n.getNode(); for (int k = 0; k < node.getAdjacencies().Count; ++k) { Node adjNode = (Node)node.getAdjacencies()[k]; EdgeLink currentEdge = new EdgeLink(node, adjNode); VisualNode visualnode_adj = nodes_in_scene[adjNode]; n.addAdjacency(visualnode_adj); bool t = true; if (HashEdges.Contains(currentEdge) == false) { HashEdges.Add(currentEdge); //print("created"); GameObject edg = Instantiate(DynamicEdge, Vector3.zero, DynamicEdge.transform.rotation); num_of_edges++; DynamicEdge de = edg.GetComponent <DynamicEdge>(); edg.transform.parent = transform; if (de.edgeType != global::DynamicEdge.EdgeType.LineRenderer) { edg.transform.GetChild(1).GetComponent <SkinnedMeshRenderer>().material.color = edgeColor; } de.setAnchor1(n.transform); de.setAnchor2(adjNode.Transform); de.setMidAnchor(adjNode.Transform, n.transform); de.setHashCode(currentEdge.GetHashCode()); de.setAdjCount(node.getAdjacencies().Count, adjNode.getAdjacencies().Count); //DynamicEdge d = cyl.AddComponent<DynamicEdge>(); //d.setTransforms(n.transform,n.transform); edg.name = node.NodeID1 + " to " + adjNode.NodeID1; } else { doubleUps++; } } } }
public override float GetEdgeWeight(DynamicEdge edge, out bool?direction) { throw new NotImplementedException(); }
/// <summary> /// Gets the weight from a meta-edge. /// </summary> public abstract T GetEdgeWeight(DynamicEdge edge, out bool?direction);