コード例 #1
0
ファイル: FXSourceCodeFunction.cs プロジェクト: yarwelp/tooll
 public virtual void SetCode(int idx, string code)
 {
     if (idx < OperatorPart.Connections.Count)
     {
         var input = OperatorPartUtilities.FindLowestUnconnectedOpPart(OperatorPart.Connections[idx], 5);
         input.SetValue(new Text(code));
         var setValueAsDefaultCmd = new Commands.SetInputAsAndResetToDefaultCommand(input);
         setValueAsDefaultCmd.Do();
     }
 }
コード例 #2
0
        private OperatorPreset CreatePresetFromOperator(Operator op)
        {
            var newPreset = new OperatorPreset {
                MetaOperatorID = op.Definition.ID
            };

            foreach (var input in op.Inputs)
            {
                if (input.Type == FunctionType.Float)
                {
                    var metaInput    = input.Parent.GetMetaInput(input);
                    var currentValue = OperatorPartUtilities.GetInputFloatValue(input);
                    newPreset.ValuesByParameterID[metaInput.ID] = currentValue;
                }
            }
            return(newPreset);
        }
コード例 #3
0
ファイル: VariationManager.cs プロジェクト: yarwelp/tooll
        private SetValueGroupCommand GenerateFirstGenerationCommand(int seed)
        {
            var random = new Random(seed);

            var entries = new List <SetValueGroupCommand.Entry>();

            foreach (var el in App.Current.MainWindow.CompositionView.XCompositionGraphView.SelectionHandler.SelectedElements)
            {
                var op = el as OperatorWidget;
                if (op == null)
                {
                    continue;
                }

                foreach (var input in op.Operator.Inputs)
                {
                    if (input.Type != FunctionType.Float)
                    {
                        continue;
                    }

                    var metaInput    = input.Parent.GetMetaInput(input);
                    var scale        = metaInput.Scale;
                    var randomOffset = ((float)random.NextDouble() - 0.5f) * scale * _randomStrength;
                    var currentValue = OperatorPartUtilities.GetInputFloatValue(input);
                    var newValue     = Utilities.Clamp(currentValue + randomOffset, metaInput.Min, metaInput.Max);

                    entries.Add(new SetValueGroupCommand.Entry
                    {
                        OpPart = input,
                        Value  = new Float(newValue)
                    });
                }
            }
            return(new SetValueGroupCommand(entries, App.Current.Model.GlobalTime, "Variation"));
        }