Esempio n. 1
0
 private dynamic GetValue(int i, DiffSpreadPin vals)
 {
     if (_valCast == null)
     {
         CreateValCastDelegate();
     }
     return(_valCast.Invoke(this, new[] { vals[i] }));
 }
Esempio n. 2
0
 private dynamic GetKey(int i, DiffSpreadPin keys)
 {
     if (_keyCast == null)
     {
         CreateKeyCastDelegate();
     }
     return(_keyCast.Invoke(this, new [] { keys[i] }));
 }
Esempio n. 3
0
        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"));
            };
        }
Esempio n. 4
0
 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;
     };
 }
Esempio n. 6
0
        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"));
        }
Esempio n. 7
0
        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
                });
            };
        }
Esempio n. 9
0
        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;
            };
        }