diff options
| author | Jacob Palecki <[email protected]> | 2021-04-04 23:14:39 -0700 |
|---|---|---|
| committer | Jacob Palecki <[email protected]> | 2021-04-04 23:14:39 -0700 |
| commit | 069bf5795fbf127d2a8c3233988a77aa7b2107d7 (patch) | |
| tree | 2df5907768e11caba199df466287f29595daa8e8 /grapher/Models/Options | |
| parent | Add differing table types (diff) | |
| download | rawaccel-069bf5795fbf127d2a8c3233988a77aa7b2107d7.tar.xz rawaccel-069bf5795fbf127d2a8c3233988a77aa7b2107d7.zip | |
Fix most errors from wrapper rewrite
Diffstat (limited to 'grapher/Models/Options')
| -rw-r--r-- | grapher/Models/Options/AccelOptionSet.cs | 4 | ||||
| -rw-r--r-- | grapher/Models/Options/AccelTypeOptions.cs | 55 | ||||
| -rw-r--r-- | grapher/Models/Options/ApplyOptions.cs | 8 | ||||
| -rw-r--r-- | grapher/Models/Options/CapOptions.cs | 12 | ||||
| -rw-r--r-- | grapher/Models/Options/OffsetOptions.cs | 5 |
5 files changed, 53 insertions, 31 deletions
diff --git a/grapher/Models/Options/AccelOptionSet.cs b/grapher/Models/Options/AccelOptionSet.cs index 11a7f10..f4c08a1 100644 --- a/grapher/Models/Options/AccelOptionSet.cs +++ b/grapher/Models/Options/AccelOptionSet.cs @@ -108,11 +108,11 @@ namespace grapher.Models.Options return Options.GenerateArgs(); } - public void SetActiveValues(int mode, AccelArgs args) + public void SetActiveValues(AccelArgs args) { if (!Hidden) { - Options.SetActiveValues(mode, args); + Options.SetActiveValues(args); } } diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs index 8d3fecb..0547164 100644 --- a/grapher/Models/Options/AccelTypeOptions.cs +++ b/grapher/Models/Options/AccelTypeOptions.cs @@ -17,12 +17,13 @@ namespace grapher new LinearLayout(), new ClassicLayout(), new NaturalLayout(), - new NaturalGainLayout(), new PowerLayout(), new MotivityLayout(), new OffLayout() }.ToDictionary(k => k.Name); + public static readonly DriverSettings DefaultSettings = new DriverSettings(); + #endregion Fields #region Constructors @@ -187,16 +188,16 @@ namespace grapher Show(); } - public void SetActiveValues(int index, AccelArgs args) + public void SetActiveValues(AccelArgs args) { - AccelerationType = AccelerationTypes.Where(t => t.Value.Index == index).FirstOrDefault().Value; + AccelerationType = AccelTypeFromSettings(args); AccelTypeActiveValue.SetValue(AccelerationType.Name); AccelDropdown.SelectedIndex = AccelerationType.Index; Weight.SetActiveValue(args.weight); - Cap.SetActiveValues(args.gainCap, args.scaleCap, args.gainCap > 0 || args.scaleCap <= 0); - Offset.SetActiveValue(args.offset, args.legacyOffset); - Acceleration.SetActiveValue(args.acceleration); + Cap.SetActiveValues(args.cap, args.legacy); + Offset.SetActiveValue(args.offset); + Acceleration.SetActiveValue(AccelerationParameterFromArgs(args)); Scale.SetActiveValue(args.scale); Limit.SetActiveValue(args.limit); Exponent.SetActiveValue(args.exponent); @@ -227,15 +228,15 @@ namespace grapher public void SetArgs(ref AccelArgs args) { - AccelArgs defaults = DriverInterop.DefaultSettings.args.x; - args.acceleration = Acceleration.Visible ? Acceleration.Field.Data : defaults.acceleration; + AccelArgs defaults = DefaultSettings.args.x; + args.accelClassic = defaults.accelClassic; + args.accelMotivity = defaults.accelMotivity; + args.accelNatural = defaults.accelClassic; args.scale = Scale.Visible ? Scale.Field.Data : defaults.scale; - args.gainCap = Cap.Visible ? Cap.VelocityGainCap : defaults.gainCap; - args.scaleCap = Cap.Visible ? Cap.SensitivityCap : defaults.scaleCap; + args.cap = Cap.Visible ? Cap.SensitivityCap : defaults.cap; args.limit = Limit.Visible ? Limit.Field.Data : defaults.limit; args.exponent = Exponent.Visible ? Exponent.Field.Data : defaults.exponent; args.offset = Offset.Visible ? Offset.Offset : defaults.offset; - args.legacyOffset = Offset.IsLegacy; args.midpoint = Midpoint.Visible ? Midpoint.Field.Data : defaults.midpoint; args.weight = Weight.Visible ? Weight.Field.Data : defaults.weight; } @@ -292,6 +293,38 @@ namespace grapher top); } + private LayoutBase AccelTypeFromSettings(AccelArgs args) + { + LayoutBase type; + if (args.mode == AccelMode.classic && args.exponent == 2) + { + type = AccelerationTypes.Values.Where(t => string.Equals(t.Name, LinearLayout.LinearName)).FirstOrDefault(); + } + else + { + int index = (int)args.mode; + type = AccelerationTypes.Where(t => t.Value.Index == index).FirstOrDefault().Value; + } + + return type; + } + + private double AccelerationParameterFromArgs(AccelArgs args) + { + if (args.mode == AccelMode.motivity) + { + return args.accelMotivity; + } + else if (args.mode == AccelMode.natural) + { + return args.accelNatural; + } + else + { + return args.accelClassic; + } + } + #endregion Methods } } diff --git a/grapher/Models/Options/ApplyOptions.cs b/grapher/Models/Options/ApplyOptions.cs index ffe430d..43a2da8 100644 --- a/grapher/Models/Options/ApplyOptions.cs +++ b/grapher/Models/Options/ApplyOptions.cs @@ -108,19 +108,17 @@ namespace grapher.Models.Options double xSens, double ySens, double rotation, - int xMode, - int yMode, AccelArgs xArgs, AccelArgs yArgs, bool isWhole) { Sensitivity.SetActiveValues(xSens, ySens); Rotation.SetActiveValue(rotation); - OptionSetX.SetActiveValues(xMode, xArgs); + OptionSetX.SetActiveValues(xArgs); WholeVectorCheckBox.Checked = isWhole; ByComponentVectorCheckBox.Checked = !isWhole; ByComponentVectorXYLock.Checked = xArgs.Equals(yArgs); - OptionSetY.SetActiveValues(yMode, yArgs); + OptionSetY.SetActiveValues(yArgs); } public void SetActiveValues(DriverSettings settings) @@ -129,8 +127,6 @@ namespace grapher.Models.Options settings.sensitivity.x, settings.sensitivity.y, settings.rotation, - (int)settings.modes.x, - (int)settings.modes.y, settings.args.x, settings.args.y, settings.combineMagnitudes); diff --git a/grapher/Models/Options/CapOptions.cs b/grapher/Models/Options/CapOptions.cs index c459c50..b4afa5c 100644 --- a/grapher/Models/Options/CapOptions.cs +++ b/grapher/Models/Options/CapOptions.cs @@ -149,24 +149,20 @@ namespace grapher } - public void SetActiveValues(double gainCap, double sensCap, bool capGainEnabled) + public void SetActiveValues(double cap, bool legacyCap) { - if (capGainEnabled) + if (!legacyCap) { CapOption.ActiveValueLabel.FormatString = Constants.GainCapFormatString; CapOption.ActiveValueLabel.Prefix = "Gain"; - CapOption.SetActiveValue(gainCap); - LegacyCapCheck.Checked = false; - VelocityGainCapCheck.Checked = true; } else { CapOption.ActiveValueLabel.FormatString = Constants.DefaultActiveValueFormatString; CapOption.ActiveValueLabel.Prefix = string.Empty; - CapOption.SetActiveValue(sensCap); - LegacyCapCheck.Checked = true; - VelocityGainCapCheck.Checked = false; } + + CapOption.SetActiveValue(cap); } public override void AlignActiveValues() diff --git a/grapher/Models/Options/OffsetOptions.cs b/grapher/Models/Options/OffsetOptions.cs index 6638ed7..42d2d92 100644 --- a/grapher/Models/Options/OffsetOptions.cs +++ b/grapher/Models/Options/OffsetOptions.cs @@ -106,12 +106,9 @@ namespace grapher.Models.Options OffsetOption.Show(name); } - public void SetActiveValue(double offset, bool legacy) + public void SetActiveValue(double offset) { OffsetOption.SetActiveValue(offset); - - VelocityGainOffsetCheck.Checked = !legacy; - LegacyOffsetCheck.Checked = legacy; } public override void AlignActiveValues() |