private bool SetLink(IPin sink, IPin source, bool frompending) { DX11Node sinknode = this.graph.FindNode(sink.ParentNode); DX11Node sourcenode = this.graph.FindNode(source.ParentNode); if (sinknode != null && sourcenode != null) { DX11InputPin sinkpin = sinknode.GetInput(sink.Name); DX11OutputPin sourcepin = sourcenode.GetOutput(source.Name); sinkpin.Connect(sourcepin); //Since we managed to connect, check if it exists in pending list and remove if (!frompending) { if (this.pendinglinks.ContainsKey(sink)) { this.pendinglinks.Remove(sink); } } return(true); } else { return(false); } }
private void UnSetLink(IPin sink, IPin source) { DX11Node sinknode = this.graph.FindNode(sink.ParentNode); DX11Node sourcenode = this.graph.FindNode(source.ParentNode); if (sinknode != null && sourcenode != null) { DX11InputPin sinkpin = sinknode.GetInput(sink.Name); DX11OutputPin sourcepin = sourcenode.GetOutput(source.Name); sinkpin.Disconnect(sourcepin); } }