public T AddNode <T>() where T : GraphNode, new() { T node = new T(); node.id = nodeIdCounter++; node.graph = this; nodeTable.Add(node.id, node); edgeListTable.Add(node.id, new EdgeList()); return(node); }
private static void UpsertIntoNodeTable(Node node) { if (NodeTable.ContainsKey(node.NodeId)) { NodeTable[node.NodeId] = node; } else { NodeTable.Add(node.NodeId, node); } }
/// <summary> /// Populates the Circuit, Node and Pin tables /// </summary> /// <param name="circuit"></param> public static void RegisterCircuit(Circuit circuit) { CircuitTable.Add(circuit.CircuitId, circuit); foreach (Node node in circuit.Nodes) { NodeTable.Add(node.NodeId, node); foreach (Pin pin in node.Pins) { PinTable.Add(pin.PinId, pin); } } }
public virtual Transform FindNode(string name) { if (string.IsNullOrEmpty(name)) { return(base._transform); } StringKeyTableBase.Item nodeItem = nodeCache.GetNodeItem(name); if (nodeItem != null) { return(nodeItem.value as Transform); } Transform val = Utility.Find(base._transform, name); nodeCache.Add(name, val); return(val); }