public void Connect(viOutputPin op) { if (this.ParentPin == null) { op.ChildrenPins.Add(this); this.ParentPin = op; } }
public void Disconnect(viOutputPin op) { if (op == this.ParentPin) { op.ChildrenPins.Remove(this); this.ParentPin = null; } }
protected override bool ProcessAddedPin(IPin2 pin) { viNode vn = this.graph.FindNode(pin.ParentNode); if (vn != null) { IPluginIO ip = this.pinlistener.GetInput(vn.Hoster, pin.Name); if (ip != null) { viInputPin vip = new viInputPin(vn); vip.ComInstance = ip; vip.Name = pin.Name; vip.HdePin = vn.HdeNode.FindHdePinByName(pin.Name); } else { IPluginIO op = this.pinlistener.GetOutput(vn.Hoster, pin.Name); if (op != null) { viOutputPin vop = new viOutputPin(vn); vop.ComInstance = op; vop.Name = pin.Name; vop.HdePin = vn.HdeNode.FindHdePinByName(pin.Name); } } } return false; }