private dynamic GetValue(int i, DiffSpreadPin vals) { if (_valCast == null) { CreateValCastDelegate(); } return(_valCast.Invoke(this, new[] { vals[i] })); }
private dynamic GetKey(int i, DiffSpreadPin keys) { if (_keyCast == null) { CreateKeyCastDelegate(); } return(_keyCast.Invoke(this, new [] { keys[i] })); }
public void OnImportsSatisfied() { Pd = new PinDictionary(FIOFactory); foreach (var pin in FPluginHost.GetPins()) { if (pin.Name != "Descriptive Name") { continue; } pin.SetSlice(0, ""); break; } _pg = new ConfigurableTypePinGroup(FPluginHost, FIOFactory, Hde.MainLoop, "Input", 100); _pg.OnTypeChangeEnd += (sender, args) => { _typeChanged = true; foreach (var pin in FPluginHost.GetPins()) { if (pin.Name != "Descriptive Name") { continue; } pin.SetSlice(0, ""); break; } Pd.RemoveAllInput(); IsMemberEnumerable.Clear(); foreach (var pin in FPluginHost.GetPins()) { if (pin.Name != "Descriptive Name") { continue; } pin.SetSlice(0, _pg.GroupType.GetCSharpName()); break; } foreach (var field in _pg.GroupType.GetFields()) { AddMemberPin(field); } foreach (var prop in _pg.GroupType.GetProperties()) { AddMemberPin(prop); } if (_pgready) { return; } _pgready = true; _input = _pg.AddInput(new InputAttribute("Input")); }; }
public void OnImportsSatisfied() { FPinCount.Changed += spread => ChangePinCount(); _pg = new ConfigurableTypePinGroup(FPluginHost, FIOFactory, Hde.MainLoop, "Output", 100); _pg.OnTypeChangeEnd += (sender, args) => { if (_pgready) { return; } _pgready = true; _input = _pg.AddInputBinSized(new InputAttribute("Input")); ChangePinCount(); }; }
public void OnImportsSatisfied() { PinGroup = new ConfigurableTypePinGroup(FPluginHost, FIOFactory, Hde.MainLoop, "Input"); PinGroup.OnTypeChangeEnd += (sender, args) => { _typeChanged = true; if (!_init) { return; } PinGroup.AddInput(new InputAttribute("Input")); _input = PinGroup.Pd.InputPins["Input"]; _init = false; }; }
private void CreatePins() { _defKeys = _keys.AddInput(new InputAttribute("Default Keys") { Order = 10 }); _modKeys = _keys.AddInput(new InputAttribute("Update Keys") { Order = 13 }); _remKeys = _keys.AddInput(new InputAttribute("Remove Keys") { Order = 17 }); _getKeys = _keys.AddInput(new InputAttribute("Get Keys") { Order = 20 }); _defVals = _vals.AddInput(new InputAttribute("Default Values") { Order = 11 }); _modVals = _vals.AddInput(new InputAttribute("Update Values") { Order = 14 }); _outKeys = _keys.AddOutput(new OutputAttribute("Keys Out") { Order = 0 }); _outVals = _vals.AddOutput(new OutputAttribute("Values Out") { Order = 1 }); _queryVals = _vals.AddOutputBinSized(new OutputAttribute("Queried Values") { Order = 2, BinOrder = 3 }); _dictType = typeof(Dictionary <,>).MakeGenericType(_keys.GroupType, _vals.GroupType); _pd.RemoveInput("Dictionary In"); _pd.RemoveOutput("Dictionary Out"); _dictin = _pd.AddInput(_dictType, new InputAttribute("Dictionary In")); _dictout = _pd.AddOutput(_dictType, new OutputAttribute("Dictionary Out")); }
public void OnImportsSatisfied() { _pg = new ConfigurableTypePinGroup(FPluginHost, FIOFactory, Hde.MainLoop, "Attachment", 10, true); _pg.OnTypeChangeEnd += (sender, args) => { _typeChanged = true; if (_pgready) { return; } _pgready = true; _attachment = _pg.AddInputBinSized(new InputAttribute("Attachment") { Order = 20, BinOrder = 21 }); }; }
public void OnImportsSatisfied() { _pg = new ConfigurableTypePinGroup(FPluginHost, FIOFactory, Hde.MainLoop, "Input"); _pg.OnTypeChangeEnd += (sender, args) => { _typeChanged = true; if (_pgready) { return; } _pgready = true; _input = _pg.AddInput(new InputAttribute("Input") { Order = -1 }); }; }
public void OnImportsSatisfied() { _pg = new ConfigurableTypePinGroup(FPluginHost, FIOFactory, Hde.MainLoop, "Input"); _pg.OnTypeChangeEnd += (sender, args) => { _typeChanged = true; if (_pgready) { return; } _pgready = true; _input = _pg.AddInput(new InputAttribute("Input")); _output = _pg.AddOutput(new OutputAttribute("Output")); _first = _pg.AddOutput(new OutputAttribute("Dequeued")); _last = _pg.AddOutput(new OutputAttribute("Enqueued")); _output.Spread.SliceCount = 0; _first.Spread.SliceCount = _last.Spread.SliceCount = 1; }; }