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(); } }
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); }
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")); }