summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grapher/Form1.Designer.cs139
-rw-r--r--grapher/Form1.cs12
-rw-r--r--grapher/Layouts/ClassicLayout.cs2
-rw-r--r--grapher/Layouts/DefaultLayout.cs2
-rw-r--r--grapher/Layouts/JumpLayout.cs4
-rw-r--r--grapher/Layouts/LUTLayout.cs2
-rw-r--r--grapher/Layouts/LayoutBase.cs16
-rw-r--r--grapher/Layouts/LinearLayout.cs2
-rw-r--r--grapher/Layouts/MotivityLayout.cs2
-rw-r--r--grapher/Layouts/NaturalLayout.cs2
-rw-r--r--grapher/Layouts/OffLayout.cs2
-rw-r--r--grapher/Layouts/PowerLayout.cs2
-rw-r--r--grapher/Layouts/UnsupportedLayout.cs2
-rw-r--r--grapher/Models/AccelGUIFactory.cs52
-rw-r--r--grapher/Models/Options/AccelTypeOptions.cs19
15 files changed, 241 insertions, 19 deletions
diff --git a/grapher/Form1.Designer.cs b/grapher/Form1.Designer.cs
index 4625bca..ac66650 100644
--- a/grapher/Form1.Designer.cs
+++ b/grapher/Form1.Designer.cs
@@ -182,6 +182,8 @@ namespace grapher
this.OptionSetXTitle = new System.Windows.Forms.Label();
this.constantThreeLabelY = new System.Windows.Forms.Label();
this.limitLabelY = new System.Windows.Forms.Label();
+ this.inputJumpLabelY = new System.Windows.Forms.Label();
+ this.outputJumpLabelY = new System.Windows.Forms.Label();
this.inputOffsetLabelY = new System.Windows.Forms.Label();
this.outputOffsetLabelY = new System.Windows.Forms.Label();
this.inCapLabelYClassic = new System.Windows.Forms.Label();
@@ -189,17 +191,23 @@ namespace grapher
this.ByComponentXYLock = new System.Windows.Forms.CheckBox();
this.MidpointActiveYLabel = new System.Windows.Forms.Label();
this.LimitActiveYLabel = new System.Windows.Forms.Label();
+ this.InputJumpActiveYLabel = new System.Windows.Forms.Label();
+ this.OutputJumpActiveYLabel = new System.Windows.Forms.Label();
this.InputOffsetActiveYLabel = new System.Windows.Forms.Label();
this.OutputOffsetActiveYLabel = new System.Windows.Forms.Label();
this.AccelerationActiveLabelY = new System.Windows.Forms.Label();
this.accelTypeDropY = new System.Windows.Forms.ComboBox();
this.midpointBoxY = new System.Windows.Forms.TextBox();
this.limitBoxY = new System.Windows.Forms.TextBox();
+ this.inputJumpBoxY = new System.Windows.Forms.TextBox();
+ this.outputJumpBoxY = new System.Windows.Forms.TextBox();
this.inputOffsetBoxY = new System.Windows.Forms.TextBox();
this.outputOffsetBoxY = new System.Windows.Forms.TextBox();
this.accelerationBoxY = new System.Windows.Forms.TextBox();
this.MidpointActiveXLabel = new System.Windows.Forms.Label();
this.LimitActiveXLabel = new System.Windows.Forms.Label();
+ this.InputJumpActiveXLabel = new System.Windows.Forms.Label();
+ this.OutputJumpActiveXLabel = new System.Windows.Forms.Label();
this.InputOffsetActiveXLabel = new System.Windows.Forms.Label();
this.OutputOffsetActiveXLabel = new System.Windows.Forms.Label();
this.InCapActiveYLabelClassic = new System.Windows.Forms.Label();
@@ -216,6 +224,10 @@ namespace grapher
this.inCapBoxYClassic = new System.Windows.Forms.TextBox();
this.VertHorzRatioBox = new System.Windows.Forms.TextBox();
this.writeButton = new System.Windows.Forms.Button();
+ this.inputJumpLabelX = new System.Windows.Forms.Label();
+ this.outputJumpLabelX = new System.Windows.Forms.Label();
+ this.inputJumpBoxX = new System.Windows.Forms.TextBox();
+ this.outputJumpBoxX = new System.Windows.Forms.TextBox();
this.inputOffsetLabelX = new System.Windows.Forms.Label();
this.outputOffsetLabelX = new System.Windows.Forms.Label();
this.inputOffsetBoxX = new System.Windows.Forms.TextBox();
@@ -361,6 +373,8 @@ namespace grapher
this.optionsPanel.Controls.Add(this.OptionSetXTitle);
this.optionsPanel.Controls.Add(this.constantThreeLabelY);
this.optionsPanel.Controls.Add(this.limitLabelY);
+ this.optionsPanel.Controls.Add(this.inputJumpLabelY);
+ this.optionsPanel.Controls.Add(this.outputJumpLabelY);
this.optionsPanel.Controls.Add(this.inputOffsetLabelY);
this.optionsPanel.Controls.Add(this.outputOffsetLabelY);
this.optionsPanel.Controls.Add(this.inCapLabelYClassic);
@@ -368,17 +382,23 @@ namespace grapher
this.optionsPanel.Controls.Add(this.ByComponentXYLock);
this.optionsPanel.Controls.Add(this.MidpointActiveYLabel);
this.optionsPanel.Controls.Add(this.LimitActiveYLabel);
+ this.optionsPanel.Controls.Add(this.InputJumpActiveYLabel);
+ this.optionsPanel.Controls.Add(this.OutputJumpActiveYLabel);
this.optionsPanel.Controls.Add(this.InputOffsetActiveYLabel);
this.optionsPanel.Controls.Add(this.OutputOffsetActiveYLabel);
this.optionsPanel.Controls.Add(this.AccelerationActiveLabelY);
this.optionsPanel.Controls.Add(this.accelTypeDropY);
this.optionsPanel.Controls.Add(this.midpointBoxY);
this.optionsPanel.Controls.Add(this.limitBoxY);
+ this.optionsPanel.Controls.Add(this.inputJumpBoxY);
+ this.optionsPanel.Controls.Add(this.outputJumpBoxY);
this.optionsPanel.Controls.Add(this.inputOffsetBoxY);
this.optionsPanel.Controls.Add(this.outputOffsetBoxY);
this.optionsPanel.Controls.Add(this.accelerationBoxY);
this.optionsPanel.Controls.Add(this.MidpointActiveXLabel);
this.optionsPanel.Controls.Add(this.LimitActiveXLabel);
+ this.optionsPanel.Controls.Add(this.InputJumpActiveXLabel);
+ this.optionsPanel.Controls.Add(this.OutputJumpActiveXLabel);
this.optionsPanel.Controls.Add(this.InputOffsetActiveXLabel);
this.optionsPanel.Controls.Add(this.OutputOffsetActiveXLabel);
this.optionsPanel.Controls.Add(this.InCapActiveYLabelClassic);
@@ -395,6 +415,10 @@ namespace grapher
this.optionsPanel.Controls.Add(this.inCapBoxYClassic);
this.optionsPanel.Controls.Add(this.VertHorzRatioBox);
this.optionsPanel.Controls.Add(this.writeButton);
+ this.optionsPanel.Controls.Add(this.inputJumpLabelX);
+ this.optionsPanel.Controls.Add(this.outputJumpLabelX);
+ this.optionsPanel.Controls.Add(this.inputJumpBoxX);
+ this.optionsPanel.Controls.Add(this.outputJumpBoxX);
this.optionsPanel.Controls.Add(this.inputOffsetLabelX);
this.optionsPanel.Controls.Add(this.outputOffsetLabelX);
this.optionsPanel.Controls.Add(this.inputOffsetBoxX);
@@ -1393,9 +1417,22 @@ namespace grapher
this.limitLabelY.Size = new System.Drawing.Size(28, 13);
this.limitLabelY.TabIndex = 136;
this.limitLabelY.Text = "Limit";
- //
- // offsetLabelY
- //
+
+ this.inputJumpLabelY.AutoSize = true;
+ this.inputJumpLabelY.Location = new System.Drawing.Point(263, 248);
+ this.inputJumpLabelY.Name = "inputJumpLabelY";
+ this.inputJumpLabelY.Size = new System.Drawing.Size(35, 13);
+ this.inputJumpLabelY.TabIndex = 135;
+ this.inputJumpLabelY.Text = "Input";
+
+ this.outputJumpLabelY.AutoSize = true;
+ this.outputJumpLabelY.Location = new System.Drawing.Point(263, 248);
+ this.outputJumpLabelY.Name = "outputJumpLabelY";
+ this.outputJumpLabelY.Size = new System.Drawing.Size(35, 13);
+ this.outputJumpLabelY.TabIndex = 135;
+ this.outputJumpLabelY.Text = "Output";
+
+
this.inputOffsetLabelY.AutoSize = true;
this.inputOffsetLabelY.Location = new System.Drawing.Point(263, 248);
this.inputOffsetLabelY.Name = "inputOffsetLabelY";
@@ -1456,9 +1493,21 @@ namespace grapher
this.LimitActiveYLabel.Size = new System.Drawing.Size(13, 13);
this.LimitActiveYLabel.TabIndex = 130;
this.LimitActiveYLabel.Text = "0";
- //
- // OffsetActiveYLabel
- //
+
+ this.InputJumpActiveYLabel.AutoSize = true;
+ this.InputJumpActiveYLabel.Location = new System.Drawing.Point(414, 248);
+ this.InputJumpActiveYLabel.Name = "InputJumpActiveYLabel";
+ this.InputJumpActiveYLabel.Size = new System.Drawing.Size(13, 13);
+ this.InputJumpActiveYLabel.TabIndex = 129;
+ this.InputJumpActiveYLabel.Text = "0";
+
+ this.OutputJumpActiveYLabel.AutoSize = true;
+ this.OutputJumpActiveYLabel.Location = new System.Drawing.Point(414, 248);
+ this.OutputJumpActiveYLabel.Name = "OutputJumpActiveYLabel";
+ this.OutputJumpActiveYLabel.Size = new System.Drawing.Size(13, 13);
+ this.OutputJumpActiveYLabel.TabIndex = 129;
+ this.OutputJumpActiveYLabel.Text = "0";
+
this.InputOffsetActiveYLabel.AutoSize = true;
this.InputOffsetActiveYLabel.Location = new System.Drawing.Point(414, 248);
this.InputOffsetActiveYLabel.Name = "InputOffsetActiveYLabel";
@@ -1504,9 +1553,17 @@ namespace grapher
this.limitBoxY.Name = "limitBoxY";
this.limitBoxY.Size = new System.Drawing.Size(76, 20);
this.limitBoxY.TabIndex = 108;
- //
- // offsetBoxY
- //
+
+ this.inputJumpBoxY.Location = new System.Drawing.Point(332, 245);
+ this.inputJumpBoxY.Name = "inputJumpBoxY";
+ this.inputJumpBoxY.Size = new System.Drawing.Size(76, 20);
+ this.inputJumpBoxY.TabIndex = 106;
+
+ this.outputJumpBoxY.Location = new System.Drawing.Point(332, 245);
+ this.outputJumpBoxY.Name = "outputJumpBoxY";
+ this.outputJumpBoxY.Size = new System.Drawing.Size(76, 20);
+ this.outputJumpBoxY.TabIndex = 106;
+
this.inputOffsetBoxY.Location = new System.Drawing.Point(332, 245);
this.inputOffsetBoxY.Name = "inputOffsetBoxY";
this.inputOffsetBoxY.Size = new System.Drawing.Size(76, 20);
@@ -1541,9 +1598,21 @@ namespace grapher
this.LimitActiveXLabel.Size = new System.Drawing.Size(13, 13);
this.LimitActiveXLabel.TabIndex = 126;
this.LimitActiveXLabel.Text = "0";
- //
- // OffsetActiveXLabel
- //
+
+ this.InputJumpActiveXLabel.AutoSize = true;
+ this.InputJumpActiveXLabel.Location = new System.Drawing.Point(197, 248);
+ this.InputJumpActiveXLabel.Name = "InputJumpActiveXLabel";
+ this.InputJumpActiveXLabel.Size = new System.Drawing.Size(13, 13);
+ this.InputJumpActiveXLabel.TabIndex = 125;
+ this.InputJumpActiveXLabel.Text = "0";
+
+ this.OutputJumpActiveXLabel.AutoSize = true;
+ this.OutputJumpActiveXLabel.Location = new System.Drawing.Point(197, 248);
+ this.OutputJumpActiveXLabel.Name = "OutputJumpActiveXLabel";
+ this.OutputJumpActiveXLabel.Size = new System.Drawing.Size(13, 13);
+ this.OutputJumpActiveXLabel.TabIndex = 125;
+ this.OutputJumpActiveXLabel.Text = "0";
+
this.InputOffsetActiveXLabel.AutoSize = true;
this.InputOffsetActiveXLabel.Location = new System.Drawing.Point(197, 248);
this.InputOffsetActiveXLabel.Name = "InputOffsetActiveXLabel";
@@ -1682,9 +1751,33 @@ namespace grapher
this.writeButton.TabIndex = 111;
this.writeButton.Text = "Apply";
this.writeButton.UseVisualStyleBackColor = true;
- //
- // offsetLabelX
- //
+
+ this.inputJumpLabelX.AutoSize = true;
+ this.inputJumpLabelX.Location = new System.Drawing.Point(37, 248);
+ this.inputJumpLabelX.Name = "inputJumpLabelX";
+ this.inputJumpLabelX.Size = new System.Drawing.Size(35, 13);
+ this.inputJumpLabelX.TabIndex = 107;
+ this.inputJumpLabelX.Text = "Input Jump";
+ this.inputJumpLabelX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+
+ this.outputJumpLabelX.AutoSize = true;
+ this.outputJumpLabelX.Location = new System.Drawing.Point(37, 248);
+ this.outputJumpLabelX.Name = "outputJumpLabelX";
+ this.outputJumpLabelX.Size = new System.Drawing.Size(35, 13);
+ this.outputJumpLabelX.TabIndex = 107;
+ this.outputJumpLabelX.Text = "Output Jump";
+ this.outputJumpLabelX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+
+ this.inputJumpBoxX.Location = new System.Drawing.Point(106, 245);
+ this.inputJumpBoxX.Name = "inputJumpBoxX";
+ this.inputJumpBoxX.Size = new System.Drawing.Size(76, 20);
+ this.inputJumpBoxX.TabIndex = 92;
+
+ this.outputJumpBoxX.Location = new System.Drawing.Point(106, 245);
+ this.outputJumpBoxX.Name = "outputJumpBoxX";
+ this.outputJumpBoxX.Size = new System.Drawing.Size(76, 20);
+ this.outputJumpBoxX.TabIndex = 92;
+
this.inputOffsetLabelX.AutoSize = true;
this.inputOffsetLabelX.Location = new System.Drawing.Point(37, 248);
this.inputOffsetLabelX.Name = "inputOffsetLabelX";
@@ -1700,9 +1793,7 @@ namespace grapher
this.outputOffsetLabelX.TabIndex = 107;
this.outputOffsetLabelX.Text = "Output Offset";
this.outputOffsetLabelX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // offsetBoxX
- //
+
this.inputOffsetBoxX.Location = new System.Drawing.Point(106, 245);
this.inputOffsetBoxX.Name = "inputOffsetBoxX";
this.inputOffsetBoxX.Size = new System.Drawing.Size(76, 20);
@@ -2238,6 +2329,8 @@ namespace grapher
private System.Windows.Forms.Label OptionSetXTitle;
private System.Windows.Forms.Label constantThreeLabelY;
private System.Windows.Forms.Label limitLabelY;
+ private System.Windows.Forms.Label inputJumpLabelY;
+ private System.Windows.Forms.Label outputJumpLabelY;
private System.Windows.Forms.Label inputOffsetLabelY;
private System.Windows.Forms.Label outputOffsetLabelY;
private System.Windows.Forms.Label inCapLabelYClassic;
@@ -2245,17 +2338,23 @@ namespace grapher
private System.Windows.Forms.CheckBox ByComponentXYLock;
private System.Windows.Forms.Label MidpointActiveYLabel;
private System.Windows.Forms.Label LimitActiveYLabel;
+ private System.Windows.Forms.Label InputJumpActiveYLabel;
+ private System.Windows.Forms.Label OutputJumpActiveYLabel;
private System.Windows.Forms.Label InputOffsetActiveYLabel;
private System.Windows.Forms.Label OutputOffsetActiveYLabel;
private System.Windows.Forms.Label AccelerationActiveLabelY;
private System.Windows.Forms.ComboBox accelTypeDropY;
private System.Windows.Forms.TextBox midpointBoxY;
private System.Windows.Forms.TextBox limitBoxY;
+ private System.Windows.Forms.TextBox inputJumpBoxY;
+ private System.Windows.Forms.TextBox outputJumpBoxY;
private System.Windows.Forms.TextBox inputOffsetBoxY;
private System.Windows.Forms.TextBox outputOffsetBoxY;
private System.Windows.Forms.TextBox accelerationBoxY;
private System.Windows.Forms.Label MidpointActiveXLabel;
private System.Windows.Forms.Label LimitActiveXLabel;
+ private System.Windows.Forms.Label InputJumpActiveXLabel;
+ private System.Windows.Forms.Label OutputJumpActiveXLabel;
private System.Windows.Forms.Label InputOffsetActiveXLabel;
private System.Windows.Forms.Label OutputOffsetActiveXLabel;
private System.Windows.Forms.Label InCapActiveYLabelClassic;
@@ -2276,6 +2375,10 @@ namespace grapher
private System.Windows.Forms.Label outputOffsetLabelX;
private System.Windows.Forms.TextBox inputOffsetBoxX;
private System.Windows.Forms.TextBox outputOffsetBoxX;
+ private System.Windows.Forms.Label inputJumpLabelX;
+ private System.Windows.Forms.Label outputJumpLabelX;
+ private System.Windows.Forms.TextBox inputJumpBoxX;
+ private System.Windows.Forms.TextBox outputJumpBoxX;
private System.Windows.Forms.Label constantThreeLabelX;
private System.Windows.Forms.TextBox midpointBoxX;
private System.Windows.Forms.Label limitLabelX;
diff --git a/grapher/Form1.cs b/grapher/Form1.cs
index 00483d5..b36d511 100644
--- a/grapher/Form1.cs
+++ b/grapher/Form1.cs
@@ -82,6 +82,10 @@ namespace grapher
inCapBoxYPower,
outCapBoxXPower,
outCapBoxYPower,
+ inputJumpBoxX,
+ inputJumpBoxY,
+ outputJumpBoxX,
+ outputJumpBoxY,
inputOffsetBoxX,
inputOffsetBoxY,
outputOffsetBoxX,
@@ -136,6 +140,10 @@ namespace grapher
outCapLabelYPower,
CapTypeLabelXPower,
CapTypeLabelYPower,
+ inputJumpLabelX,
+ inputJumpLabelY,
+ outputJumpLabelX,
+ outputJumpLabelY,
inputOffsetLabelX,
inputOffsetLabelY,
outputOffsetLabelX,
@@ -177,6 +185,10 @@ namespace grapher
OutCapActiveYLabelPower,
CapTypeActiveXLabelPower,
CapTypeActiveYLabelPower,
+ InputJumpActiveXLabel,
+ InputJumpActiveYLabel,
+ OutputJumpActiveXLabel,
+ OutputJumpActiveYLabel,
InputOffsetActiveXLabel,
InputOffsetActiveYLabel,
OutputOffsetActiveXLabel,
diff --git a/grapher/Layouts/ClassicLayout.cs b/grapher/Layouts/ClassicLayout.cs
index 4f82e8a..cb09fba 100644
--- a/grapher/Layouts/ClassicLayout.cs
+++ b/grapher/Layouts/ClassicLayout.cs
@@ -25,6 +25,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/DefaultLayout.cs b/grapher/Layouts/DefaultLayout.cs
index f44de01..357c36f 100644
--- a/grapher/Layouts/DefaultLayout.cs
+++ b/grapher/Layouts/DefaultLayout.cs
@@ -26,6 +26,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/JumpLayout.cs b/grapher/Layouts/JumpLayout.cs
index 9554175..453a2c7 100644
--- a/grapher/Layouts/JumpLayout.cs
+++ b/grapher/Layouts/JumpLayout.cs
@@ -17,7 +17,7 @@ namespace grapher.Layouts
DecayRateLayout = new OptionLayout(false, string.Empty);
GrowthRateLayout = new OptionLayout(false, string.Empty);
SmoothLayout = new OptionLayout(true, Smooth);
- InputOffsetLayout = new OptionLayout(true, InputOffset);
+ InputOffsetLayout = new OptionLayout(false, InputOffset);
LimitLayout = new OptionLayout(false, Limit);
PowerClassicLayout = new OptionLayout(false, string.Empty);
ExponentLayout = new OptionLayout(false, string.Empty);
@@ -26,6 +26,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(true, Input);
+ OutputJumpLayout = new OptionLayout(true, Output);
}
}
}
diff --git a/grapher/Layouts/LUTLayout.cs b/grapher/Layouts/LUTLayout.cs
index 88f8280..8aa0dd5 100644
--- a/grapher/Layouts/LUTLayout.cs
+++ b/grapher/Layouts/LUTLayout.cs
@@ -34,6 +34,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(true, string.Empty);
LutPanelLayout = new OptionLayout(true, string.Empty);
LutApplyOptionsLayout = new OptionLayout(true, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
public override string ActiveName => LUTActiveName;
diff --git a/grapher/Layouts/LayoutBase.cs b/grapher/Layouts/LayoutBase.cs
index 1dced61..e53b37e 100644
--- a/grapher/Layouts/LayoutBase.cs
+++ b/grapher/Layouts/LayoutBase.cs
@@ -19,6 +19,8 @@ namespace grapher.Layouts
public const string Weight = "Weight";
public const string Smooth = "Smooth";
public const string Gain = "Gain";
+ public const string Input = "Input";
+ public const string Output = "Output";
public LayoutBase()
{
@@ -27,10 +29,12 @@ namespace grapher.Layouts
SmoothLayout = new OptionLayout(false, string.Empty);
ClassicCapLayout = new OptionLayout(false, string.Empty);
PowerCapLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
InputOffsetLayout = new OptionLayout(false, string.Empty);
LimitLayout = new OptionLayout(false, string.Empty);
PowerClassicLayout = new OptionLayout(false, string.Empty);
ExponentLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
OutputOffsetLayout = new OptionLayout(false, string.Empty);
MidpointLayout = new OptionLayout(false, string.Empty);
LutTextLayout = new OptionLayout(false, string.Empty);
@@ -59,6 +63,8 @@ namespace grapher.Layouts
protected OptionLayout PowerCapLayout { get; set; }
+ protected OptionLayout InputJumpLayout { get; set; }
+
protected OptionLayout InputOffsetLayout { get; set; }
protected OptionLayout LimitLayout { get; set; }
@@ -67,6 +73,8 @@ namespace grapher.Layouts
protected OptionLayout ExponentLayout { get; set; }
+ protected OptionLayout OutputJumpLayout { get; set; }
+
protected OptionLayout OutputOffsetLayout { get; set; }
protected OptionLayout MidpointLayout { get; set; }
@@ -91,10 +99,12 @@ namespace grapher.Layouts
IOption decayRateOption,
IOption growthRateOption,
IOption smoothOption,
+ IOption inputJumpOption,
IOption inputOffsetOption,
IOption limitOption,
IOption powerClassicOption,
IOption expOption,
+ IOption outputJumpOption,
IOption outputOffsetOption,
IOption midpointOption,
IOption lutTextOption,
@@ -112,10 +122,12 @@ namespace grapher.Layouts
(DecayRateLayout, decayRateOption),
(GrowthRateLayout, growthRateOption),
(SmoothLayout, smoothOption),
+ (InputJumpLayout, inputJumpOption),
(InputOffsetLayout, inputOffsetOption),
(LimitLayout, limitOption),
(PowerClassicLayout, powerClassicOption),
(ExponentLayout, expOption),
+ (OutputJumpLayout, outputJumpOption),
(OutputOffsetLayout, outputOffsetOption),
(MidpointLayout, midpointOption),
(LutTextLayout, lutTextOption),
@@ -147,10 +159,12 @@ namespace grapher.Layouts
IOption decayRateOption,
IOption growthRateOption,
IOption smoothOption,
+ IOption inputJumpOption,
IOption inputOffsetOption,
IOption limitOption,
IOption powerClassicOption,
IOption expOption,
+ IOption outputJumpOption,
IOption outputOffsetOption,
IOption midpointOption,
IOption lutTextOption,
@@ -163,10 +177,12 @@ namespace grapher.Layouts
decayRateOption,
growthRateOption,
smoothOption,
+ inputJumpOption,
inputOffsetOption,
limitOption,
powerClassicOption,
expOption,
+ outputJumpOption,
outputOffsetOption,
midpointOption,
lutTextOption,
diff --git a/grapher/Layouts/LinearLayout.cs b/grapher/Layouts/LinearLayout.cs
index 279f0a9..ebace66 100644
--- a/grapher/Layouts/LinearLayout.cs
+++ b/grapher/Layouts/LinearLayout.cs
@@ -27,6 +27,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/MotivityLayout.cs b/grapher/Layouts/MotivityLayout.cs
index 15394d2..d4fd99c 100644
--- a/grapher/Layouts/MotivityLayout.cs
+++ b/grapher/Layouts/MotivityLayout.cs
@@ -31,6 +31,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/NaturalLayout.cs b/grapher/Layouts/NaturalLayout.cs
index d182d6d..03f2f82 100644
--- a/grapher/Layouts/NaturalLayout.cs
+++ b/grapher/Layouts/NaturalLayout.cs
@@ -26,6 +26,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/OffLayout.cs b/grapher/Layouts/OffLayout.cs
index 630ea16..482f87a 100644
--- a/grapher/Layouts/OffLayout.cs
+++ b/grapher/Layouts/OffLayout.cs
@@ -26,6 +26,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/PowerLayout.cs b/grapher/Layouts/PowerLayout.cs
index e34e6a5..fb88ab0 100644
--- a/grapher/Layouts/PowerLayout.cs
+++ b/grapher/Layouts/PowerLayout.cs
@@ -24,6 +24,8 @@
LutTextLayout = new OptionLayout(false, string.Empty);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
}
diff --git a/grapher/Layouts/UnsupportedLayout.cs b/grapher/Layouts/UnsupportedLayout.cs
index 3aa88aa..a2d7ab5 100644
--- a/grapher/Layouts/UnsupportedLayout.cs
+++ b/grapher/Layouts/UnsupportedLayout.cs
@@ -31,6 +31,8 @@ namespace grapher.Layouts
LutTextLayout = new OptionLayout(true, LUTLayoutText);
LutPanelLayout = new OptionLayout(false, string.Empty);
LutApplyOptionsLayout = new OptionLayout(false, string.Empty);
+ InputJumpLayout = new OptionLayout(false, string.Empty);
+ OutputJumpLayout = new OptionLayout(false, string.Empty);
}
}
} \ No newline at end of file
diff --git a/grapher/Models/AccelGUIFactory.cs b/grapher/Models/AccelGUIFactory.cs
index bb65541..e7ae672 100644
--- a/grapher/Models/AccelGUIFactory.cs
+++ b/grapher/Models/AccelGUIFactory.cs
@@ -54,6 +54,10 @@ namespace grapher.Models
TextBox inCapBoxYPower,
TextBox outCapBoxXPower,
TextBox outCapBoxYPower,
+ TextBox inputJumpBoxX,
+ TextBox inputJumpBoxY,
+ TextBox outputJumpBoxX,
+ TextBox outputJumpBoxY,
TextBox inputOffsetBoxX,
TextBox inputOffsetBoxY,
TextBox outputOffsetBoxX,
@@ -108,6 +112,10 @@ namespace grapher.Models
Label outCapLabelYPower,
Label capTypeLabelXPower,
Label capTypeLabelYPower,
+ Label inputJumpLabelX,
+ Label inputJumpLabelY,
+ Label outputJumpLabelX,
+ Label outputJumpLabelY,
Label inputOffsetLabelX,
Label inputOffsetLabelY,
Label outputOffsetLabelX,
@@ -149,6 +157,10 @@ namespace grapher.Models
Label outCapActiveYLabelPower,
Label capTypeActiveXLabelPower,
Label capTypeActiveYLabelPower,
+ Label inputJumpActiveLabelX,
+ Label inputJumpActiveLabelY,
+ Label outputJumpActiveLabelX,
+ Label outputJumpActiveLabelY,
Label inputOffsetActiveLabelX,
Label inputOffsetActiveLabelY,
Label outputOffsetActiveLabelX,
@@ -247,6 +259,42 @@ namespace grapher.Models
var directionalityLeft = directionalityPanel.Left;
+ var inputJumpX = new Option(
+ inputJumpBoxX,
+ form,
+ 0,
+ inputJumpLabelX,
+ 0,
+ new ActiveValueLabel(inputJumpActiveLabelX, activeValueTitleX),
+ "Jump");
+
+ var inputJumpY = new Option(
+ inputJumpBoxY,
+ form,
+ 0,
+ inputJumpLabelY,
+ optionSetYLeft,
+ new ActiveValueLabel(inputJumpActiveLabelY, activeValueTitleY),
+ "Jump");
+
+ var outputJumpX = new Option(
+ outputJumpBoxX,
+ form,
+ 0,
+ outputJumpLabelX,
+ 0,
+ new ActiveValueLabel(outputJumpActiveLabelX, activeValueTitleX),
+ "Jump");
+
+ var outputJumpY = new Option(
+ outputJumpBoxY,
+ form,
+ 0,
+ outputJumpLabelY,
+ optionSetYLeft,
+ new ActiveValueLabel(outputJumpActiveLabelY, activeValueTitleY),
+ "Jump");
+
var inputOffsetX = new Option(
inputOffsetBoxX,
form,
@@ -556,10 +604,12 @@ namespace grapher.Models
gainSwitchOptionX,
classicCapOptionsX,
powerCapOptionsX,
+ outputJumpX,
outputOffsetX,
decayRateX,
growthRateX,
smoothX,
+ inputJumpX,
inputOffsetX,
limitX,
powerClassicX,
@@ -579,10 +629,12 @@ namespace grapher.Models
gainSwitchOptionY,
classicCapOptionsY,
powerCapOptionsY,
+ outputJumpY,
outputOffsetY,
decayRateY,
growthRateY,
smoothY,
+ inputJumpY,
inputOffsetY,
limitY,
powerClassicY,
diff --git a/grapher/Models/Options/AccelTypeOptions.cs b/grapher/Models/Options/AccelTypeOptions.cs
index f079542..359b6b8 100644
--- a/grapher/Models/Options/AccelTypeOptions.cs
+++ b/grapher/Models/Options/AccelTypeOptions.cs
@@ -29,10 +29,12 @@ namespace grapher
CheckBoxOption gainSwitch,
CapOptions classicCap,
CapOptions powerCap,
+ Option outputJump,
Option outputOffset,
Option decayRate,
Option growthRate,
Option smooth,
+ Option inputJump,
Option inputOffset,
Option limit,
Option powerClassic,
@@ -67,10 +69,12 @@ namespace grapher
Smooth = smooth;
ClassicCap = classicCap;
PowerCap = powerCap;
+ InputJump = inputJump;
InputOffset = inputOffset;
Limit = limit;
PowerClassic = powerClassic;
Exponent = exponent;
+ OutputJump = outputJump;
OutputOffset = outputOffset;
Midpoint = midpoint;
WriteButton = writeButton;
@@ -114,6 +118,10 @@ namespace grapher
public CapOptions PowerCap { get; }
+ public Option InputJump { get; }
+
+ public Option OutputJump { get; }
+
public Option InputOffset { get; }
public Option OutputOffset { get; }
@@ -229,6 +237,8 @@ namespace grapher
PowerCap.Hide();
OutputOffset.Hide();
InputOffset.Hide();
+ InputJump.Hide();
+ OutputJump.Hide();
Limit.Hide();
PowerClassic.Hide();
Exponent.Hide();
@@ -265,6 +275,8 @@ namespace grapher
args.cap.x,
args.cap.y,
args.capMode);
+ InputJump.SetActiveValue(args.cap.x);
+ OutputJump.SetActiveValue(args.cap.y);
OutputOffset.SetActiveValue(args.outputOffset);
InputOffset.SetActiveValue(args.inputOffset);
DecayRate.SetActiveValue(args.decayRate);
@@ -329,6 +341,8 @@ namespace grapher
args.cap.y = PowerCap.Out.Field.Data;
args.capMode = PowerCap.CapTypeOptions.GetSelectedCapMode();
}
+ if (InputJump.Visible) args.cap.x = InputJump.Field.Data;
+ if (OutputJump.Visible) args.cap.y = OutputJump.Field.Data;
if (Limit.Visible)
{
if (args.mode == AccelMode.motivity)
@@ -344,6 +358,7 @@ namespace grapher
if (Exponent.Visible) args.exponentPower = Exponent.Field.Data;
if (InputOffset.Visible) args.inputOffset = InputOffset.Field.Data;
if (OutputOffset.Visible) args.outputOffset = OutputOffset.Field.Data;
+
if (Midpoint.Visible) args.midpoint = Midpoint.Field.Data;
if (LutPanel.Visible)
{
@@ -372,6 +387,8 @@ namespace grapher
PowerCap.AlignActiveValues();
OutputOffset.AlignActiveValues();
InputOffset.AlignActiveValues();
+ OutputJump.AlignActiveValues();
+ InputJump.AlignActiveValues();
Limit.AlignActiveValues();
PowerClassic.AlignActiveValues();
Exponent.AlignActiveValues();
@@ -408,10 +425,12 @@ namespace grapher
DecayRate,
GrowthRate,
Smooth,
+ InputJump,
InputOffset,
Limit,
PowerClassic,
Exponent,
+ OutputJump,
OutputOffset,
Midpoint,
LutText,