private void DrawUncertainties() { // Selects the current uncertainty type and draws it for each // Each type does it's respective drawing for each value in the ObservableCollection switch (CurrentUncertainty) { case Uncertainties.UncertaintyType.Indiv: // Draws the uncertainty for all the coordinates for (int i = 0; i < coordinates.Count; i++) { IndivUncValues currentUncValues = new IndivUncValues(coordinates[i].XPlus, coordinates[i].XMinus, coordinates[i].YPlus, coordinates[i].YMinus); Uncertainty Unc = new Uncertainty(coordinates[i], currentUncValues, currentCanvas, GetBounds()); } break; case Uncertainties.UncertaintyType.SingleAbs: // Draws the uncertainty for all the coordinates for (int i = 0; i < coordinates.Count; i++) { Uncertainty Unc = new Uncertainty(coordinates[i], SingleUncXValue, SingleUncYValue, false, currentCanvas, GetBounds()); } break; case Uncertainties.UncertaintyType.SinglePerc: // Draws the uncertainty for all the coordinates for (int i = 0; i < coordinates.Count; i++) { Uncertainty Unc = new Uncertainty(coordinates[i], SingleUncXValue, SingleUncYValue, true, currentCanvas, GetBounds()); } break; } }
public void TestUncertaintyFromEvenValues() { var u = new Uncertainty(4.5, 1.2); Assert.AreEqual(1.2, u.LowerUncertainty); Assert.AreEqual(1.2, u.UpperUncertainty); Assert.IsFalse(u.IsRelative); }
public void TestUncertaintyHashCode() { var u1 = new Uncertainty(0.8, 0.1, 0.2); var u2 = new Uncertainty(0.8, 0.2, 0.1); Assert.AreNotEqual(u1.GetHashCode(), u2.GetHashCode()); Assert.AreEqual(u1.GetHashCode(), u1.Clone().GetHashCode()); }
public void TestUncertaintyMax() { var u1 = new Uncertainty(2, 1, 0.5); var u2 = new Uncertainty(3, 0.5, 1); var u3 = u1.Max(u2); Assert.AreEqual(u2, u3); }
public override void SetID(IDGenerator idGenerator) { ID = idGenerator.GetID(); Uncertainty.SetID(idGenerator); LengthUnit.SetID(idGenerator); PlaneAngleUnit.SetID(idGenerator); SolidAngleUnit.SetID(idGenerator); }
public void TestUncertaintyEquals() { var u1 = new Uncertainty(0.6, 0.1, 0.2); var u2 = new Uncertainty(0.3, 0.1, 0.2); Assert.IsTrue(u1.Equals(u1)); Assert.IsTrue(u1.Equals(u1.Clone())); Assert.IsFalse(u1.Equals(u2)); }
public void TestUncertaintySqrt() { var u1 = new Uncertainty(9, 0.4); var u2 = u1.Sqrt(); Assert.AreEqual(3, u2.Value); Assert.AreEqual(0.0666667, u2.UpperUncertainty, 0.000001); Assert.IsTrue(u2.IsRelative); }
public void TestUncertaintyCompare() { var u1 = new Uncertainty(0.8, 0.2, 0.1); var u2 = new Uncertainty(0.9, 0.2, 0.1); Assert.AreEqual(0, u1.CompareTo(u1.Clone())); Assert.AreEqual(-1, u1.CompareTo(u2)); Assert.AreEqual(1, u2.CompareTo(u1)); }
public void TestUncertaintyFromRange() { Uncertainty u = Uncertainty.FromRange(2, 1, 4); Assert.AreEqual(2, u.Value); Assert.AreEqual(1, u.LowerUncertainty); Assert.AreEqual(2, u.UpperUncertainty); Assert.IsFalse(u.IsRelative); }
public void TestUncertaintyFromPercentage() { Uncertainty u = Uncertainty.FromPercentage(2, 0, 1.25); Assert.AreEqual(2, u.Value); Assert.AreEqual(0, u.LowerUncertainty); Assert.AreEqual(2.5, u.UpperUncertainty); Assert.IsTrue(u.IsRelative); }
public void TestUncertaintyMin() { var u1 = new Uncertainty(4, 1, 0.5); var u2 = new Uncertainty(4, 0.5, 1); Assert.AreEqual(u1, u1.Min(u2)); var u3 = new Uncertainty(2, 3, 3); Assert.AreEqual(u3, u2.Min(u3)); }
public void TestUncertaintyIsConsistent() { var u1 = new Uncertainty(7, 0.6); var u2 = new Uncertainty(6, 0.5); var u3 = new Uncertainty(5, 0.5); Assert.IsTrue(u1.IsConsistent(u2)); Assert.IsFalse(u1.IsConsistent(u3)); Assert.IsTrue(u2.IsConsistent(u3)); }
public void TestUncertaintyProperties() { var u = new Uncertainty(7.6, 1.1, 0.4); Assert.AreEqual(1.5, u.TotalUncertainty); Assert.AreEqual(6.5, u.Minimum); Assert.AreEqual(8.0, u.Maximum); Assert.AreEqual(0.1447368, u.LowerPercentage, 0.00001); Assert.AreEqual(0.0526316, u.UpperPercentage, 0.00001); Assert.IsFalse(u.IsSymmetric()); }
public void TestUncertaintySubtractConstant() { var u1 = new Uncertainty(7.6, 0.2, 0.3); var u2 = u1.Subtract(7); Assert.AreEqual(u2, u1 - 7.0); Assert.AreEqual(-0.6, (7.0 - u1).Value, 0.00001); Assert.AreEqual(0.6, u2.Value, 0.00001); Assert.AreEqual(0.2, u2.LowerUncertainty); Assert.AreEqual(0.3, u2.UpperUncertainty); Assert.IsFalse(u2.IsRelative); }
public void TestUncertaintyMultiply() { var u1 = new Uncertainty(5, 0.5, 1.0); var u2 = new Uncertainty(2.2, 0.1, 0.1); var u3 = u1.Multiply(u2); Assert.AreEqual(u3, u1 * u2); Assert.AreEqual(11, u3.Value); Assert.AreEqual(1.6, u3.LowerUncertainty, 0.00001); Assert.AreEqual(2.7, u3.UpperUncertainty, 0.00001); Assert.IsTrue(u3.IsRelative); }
public void TestUncertaintyMultiplyConstant() { var u1 = new Uncertainty(7, 0.2, 0.7); var u2 = u1.Multiply(3); Assert.AreEqual(u2, u1 * 3); Assert.AreEqual(u2, 3 * u1); Assert.AreEqual(21, u2.Value); Assert.AreEqual(0.6, u2.LowerUncertainty, 0.00001); Assert.AreEqual(2.1, u2.UpperUncertainty, 0.00001); Assert.IsFalse(u2.IsRelative); }
public void TestUncertaintyDivide() { var u1 = new Uncertainty(12, 0.2, 1.0); var u2 = new Uncertainty(3, 0.1, 0.1); var u3 = u1.Divide(u2); Assert.AreEqual(u3, u1 / u2); Assert.AreEqual(4, u3.Value); Assert.AreEqual(0.2, u3.LowerUncertainty, 0.00001); Assert.AreEqual(0.466667, u3.UpperUncertainty, 0.00001); Assert.IsTrue(u3.IsRelative); }
public void TestUncertaintyAdd() { var u1 = new Uncertainty(6, 0.5, 0.2); var u2 = new Uncertainty(2.1, 0.1, 0.3); var u3 = u1.Add(u2); Assert.AreEqual(u3, u1 + u2); Assert.AreEqual(8.1, u3.Value); Assert.AreEqual(0.6, u3.LowerUncertainty); Assert.AreEqual(0.5, u3.UpperUncertainty); Assert.IsFalse(u3.IsRelative); }
public void TestUncertaintySymmetric() { var u1 = new Uncertainty(6, 0.5); var u2 = Uncertainty.FromPercentage(7, 0.10, 0.10); Assert.IsTrue(u1.IsSymmetric()); Assert.AreEqual(u1.LowerUncertainty, u1.UpperUncertainty); Assert.AreEqual(u1.LowerPercentage, u1.UpperPercentage); Assert.IsTrue(u2.IsSymmetric()); Assert.AreEqual(u2.LowerUncertainty, u2.UpperUncertainty); Assert.AreEqual(u2.LowerPercentage, u2.UpperPercentage); }
public void TestUncertaintyAddConstant() { var u1 = new Uncertainty(7.6, 0.2, 0.3); var u2 = u1.Add(7); Assert.AreEqual(u2, u1 + 7.0); Assert.AreEqual(u2, 7.0 + u1); Assert.AreEqual(14.6, u2.Value); Assert.AreEqual(0.2, u2.LowerUncertainty); Assert.AreEqual(0.3, u2.UpperUncertainty); Assert.IsFalse(u2.IsRelative); }
public void TestUncertaintySubtract() { var u1 = new Uncertainty(12, 1.1, 0.8); var u2 = new Uncertainty(4.3, 1, 0.2); var u3 = u1.Subtract(u2); Assert.AreEqual(u3, u1 - u2); Assert.AreEqual(7.7, u3.Value); Assert.AreEqual(2.1, u3.LowerUncertainty); Assert.AreEqual(1.0, u3.UpperUncertainty); Assert.IsFalse(u3.IsRelative); }
public void TestUncertaintyNegate() { var u1 = new Uncertainty(6.2, 0.9, 0.1); var u2 = u1.Negate(); Assert.AreEqual(u2, -u1); Assert.AreEqual(u2, u1 * -1); Assert.AreEqual(-6.2, u2.Value); Assert.AreEqual(0.9, u2.LowerUncertainty); Assert.AreEqual(0.1, u2.UpperUncertainty); Assert.IsFalse(u2.IsRelative); }
public void TestUncertaintyDivideConstant() { var u1 = new Uncertainty(6, 0.3, 0.2); var u2 = u1.Divide(3); Assert.AreEqual(u2, u1 / 3); Assert.AreEqual(0.5, (3 / u1).Value, 0.00001); Assert.AreEqual(2, u2.Value); Assert.AreEqual(0.1, u2.LowerUncertainty, 0.00001); Assert.AreEqual(0.0666667, u2.UpperUncertainty, 0.00001); Assert.IsFalse(u2.IsRelative); }
public void TestUncertaintyPow() { var u1 = new Uncertainty(2, 0.2); Assert.AreEqual(0.1, u1.UpperPercentage); Assert.IsFalse(u1.IsRelative); var u2 = u1.Pow(2); Assert.AreEqual(4, u2.Value); Assert.AreEqual(0.2, u2.UpperPercentage); Assert.AreEqual(0.8, u2.UpperUncertainty); Assert.IsTrue(u2.IsRelative); }
private void btnRunAnalysis_Click(object sender, EventArgs e) { resultList = new List <PropagationResults>(); // define the uncertainty level uncertainty = new Uncertainty(Convert.ToDouble(tbIntrackPosUnc.Text), Convert.ToDouble(tbRadialPosUnc.Text), Convert.ToDouble(tbCrosstrackPosUnc.Text), Convert.ToDouble(tbIntrackVelUnc.Text), Convert.ToDouble(tbRadialVelUnc.Text), Convert.ToDouble(tbCrosstrackVelUnc.Text)); // get the number of runs nRuns = Convert.ToDouble(this.nudNRuns.Value); try { // get the propagator to use if (this.cbPropagator.SelectedItem.ToString().Equals("Jacchia-Roberts")) { propagatorName = "Jacchia-Roberts"; } else if (this.cbPropagator.SelectedItem.ToString().Equals("NRLMSISE 2000")) { propagatorName = "NRLMSISE 2000"; } this.tbEventLogger.AppendText("Reentry analysis - Input data" + Environment.NewLine); this.tbEventLogger.AppendText("Satellite catalog number: " + currentTle.GetSatNumber() + Environment.NewLine); this.tbEventLogger.AppendText("TLE epoch: " + currentTle.GetTleEpoch() + Environment.NewLine); this.tbEventLogger.AppendText("Satellite mass: " + this.tbMass.Text + Environment.NewLine); this.tbEventLogger.AppendText("Density model: " + this.cbPropagator.SelectedItem.ToString() + Environment.NewLine); this.tbEventLogger.AppendText("Satellite drag area: " + this.tbDragArea.Text + Environment.NewLine); this.tbEventLogger.AppendText("Drag coefficient: " + this.tbCd.Text + Environment.NewLine); this.tbEventLogger.AppendText("Satellite solar area: " + this.tbSolarArea.Text + Environment.NewLine); this.tbEventLogger.AppendText("SRP coefficient: " + this.tbCr.Text + Environment.NewLine); this.tbEventLogger.AppendText(Environment.NewLine); // create an instance of the BackgroundWorker class BackgroundWorker bw = new BackgroundWorker(); bw.WorkerReportsProgress = true; // add the event handlers to the BackgroundWorker instance's events bw.DoWork += new DoWorkEventHandler(runAnalysisDoWork); bw.ProgressChanged += new ProgressChangedEventHandler(runAnalysisProgressChanged); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(runAnalysisCompleted); this.progressBar.Style = ProgressBarStyle.Blocks; this.statusLabel.Text = "Analysis started..."; // start running the background operation by calling the RunWorkerAsync method. bw.RunWorkerAsync(); } catch (Exception ex) { MessageBox.Show("Please select a propagator type", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void TestUncertaintyDivideConstantRelative() { var u1 = Uncertainty.FromPercentage(8, 0.1, 0.2); var u2 = u1.Divide(2); Assert.AreEqual(u2, u1 / 2); Assert.AreEqual(0.25, (2 / u1).Value, 0.00001); Assert.AreEqual(4, u2.Value); Assert.AreEqual(0.1, u2.LowerPercentage, 0.00001); Assert.AreEqual(0.2, u2.UpperPercentage, 0.00001); Assert.AreEqual(0.4, u2.LowerUncertainty, 0.00001); Assert.AreEqual(0.8, u2.UpperUncertainty, 0.00001); Assert.IsTrue(u2.IsRelative); }
public void TestUncertaintyMultiplyConstantRelative() { var u1 = Uncertainty.FromPercentage(8, 0.2, 0.3); var u2 = u1.Multiply(2); Assert.AreEqual(u2, u1 * 2); Assert.AreEqual(u2, 2 * u1); Assert.AreEqual(16, u2.Value); Assert.AreEqual(0.2, u2.LowerPercentage, 0.00001); Assert.AreEqual(0.3, u2.UpperPercentage, 0.00001); Assert.AreEqual(3.2, u2.LowerUncertainty, 0.00001); Assert.AreEqual(4.8, u2.UpperUncertainty, 0.00001); Assert.IsTrue(u2.IsRelative); }
public void TestUncertaintyToStringRelative() { var u1 = Uncertainty.FromPercentage(2, 0.05, 0.1); Assert.AreEqual("2 (+5%, -10%)", u1.ToString()); Assert.AreEqual("2 (+5%, -10%)", u1.ToString("G", null)); Assert.AreEqual("2 (+0.1, -0.2)", u1.ToString("A", null)); Assert.AreEqual("2 (+5%, -10%)", u1.ToString("R", null)); Assert.AreEqual("2.0 (+5.0%, -10.0%)", u1.ToString("RF1", null)); Assert.AreEqual("2 (+5%, -10%)", u1.ToString("T", null)); Assert.AreEqual("2", u1.ToString("V", null)); Assert.AreEqual("(2 (+5%, -10%))", u1.ToString("B", null)); Assert.AreEqual("2 +5%, -10%", u1.ToString("N", null)); Assert.AreEqual("2 {0} (+5%, -10%)", u1.ToString("F", null)); }
public void TestUncertaintyToString() { var u1 = new Uncertainty(3.2, 0.5); Assert.AreEqual("3.2 (±0.5)", u1.ToString()); Assert.AreEqual("3.2 (±0.5)", u1.ToString("G", null)); Assert.AreEqual("3.2 (±0.5)", u1.ToString("A", null)); Assert.AreEqual("3.2 (±15.625%)", u1.ToString("R", null)); Assert.AreEqual("3.2 (±15.6%)", u1.ToString("RF1", null)); Assert.AreEqual("3.2 (+-0.5)", u1.ToString("T", null)); Assert.AreEqual("3.2", u1.ToString("V", null)); Assert.AreEqual("(3.2 (±0.5))", u1.ToString("B", null)); Assert.AreEqual("3.2 ±0.5", u1.ToString("N", null)); Assert.AreEqual("3.2 (±0.5) {0}", u1.ToString("F", null)); }
public void TestUncertaintyEquality() { var u1 = new Uncertainty(3, 0.1); var u2 = new Uncertainty(4, 0.1); var u3 = new Uncertainty(5, 0.3); var u4 = new Uncertainty(3, 0.2); Assert.IsTrue(u2 > u1); Assert.IsTrue(u3 >= u2); Assert.IsFalse(u1 > u4); Assert.IsTrue(u2 < u3); Assert.IsTrue(u4 <= u3); Assert.IsFalse(u4 == u1); Assert.IsFalse(u3 == u2); Assert.IsTrue(u3 == u3.Clone()); }