public string[] SummaryOfConjunctionsFromSecondaryStates() { bool tlePSuccess = this.Primary.StkTleSatellitePath != null; bool cdmPSuccess = this.Primary.StkCdmSatellitePath != null; bool ephPSuccess = this.Primary.StkEphSatellitePath != null; string primary = ephPSuccess ? this.Primary.StkEphSatellitePath : cdmPSuccess ? this.Primary.StkCdmSatellitePath : this.Primary.StkTleSatellitePath; bool tleSSuccess = this.Secondary.StkTleSatellitePath != null; bool cdmSSuccess = this.Secondary.StkCdmSatellitePath != null; bool ephSSuccess = this.Secondary.StkEphSatellitePath != null; List <string> secondaries = new List <string>(); if (ephSSuccess) { secondaries.Add(this.Secondary.StkEphSatellitePath); } if (tleSSuccess) { secondaries.Add(this.Secondary.StkTleSatellitePath); } if (cdmSSuccess) { secondaries.Add(this.Secondary.StkCdmSatellitePath); } string primaryType = primary.Equals(this.Primary.StkEphSatellitePath) ? "Ephemeris" : primary.Equals(this.Primary.StkTleSatellitePath) ? "TLE" : primary.Equals(this.Primary.StkCdmSatellitePath) ? "CDM" : null; List <string> result = new List <string>(); if (primary != null && secondaries.Count > 0) { string[] pplNames = secondaries.Select(s => s.Equals(this.Secondary.StkEphSatellitePath) ? "Ephemeris" : s.Equals(this.Secondary.StkTleSatellitePath) ? "TLE" : s.Equals(this.Secondary.StkCdmSatellitePath) ? "CDM" : null).ToArray(); for (int i = 0; i < secondaries.Count; i++) { string second = secondaries[i]; object[] primaryToSecondary = StateCompare.GetTcaRangeInfo(primary, second); result.Add("Primary " + primaryType + " to Secondary " + pplNames[i] + " = TCA " + primaryToSecondary[0].ToString() + " : Range (m) " + ((double)primaryToSecondary[1]).ToString("0.##")); } return(result.ToArray()); } return(null); }
public string[] SummaryOfCdmTleComparison() { if (Primary.StkTleSatellitePath != null && Primary.StkCdmSatellitePath != null && Secondary.StkCdmSatellitePath != null && Secondary.StkTleSatellitePath != null) { object[] cdmCdmtca = StateCompare.GetTcaRangeInfo(this.Primary.StkCdmSatellitePath, this.Secondary.StkCdmSatellitePath); object[] cdmTletca = StateCompare.GetTcaRangeInfo(this.Primary.StkCdmSatellitePath, this.Secondary.StkTleSatellitePath); object[] tleCdmtca = StateCompare.GetTcaRangeInfo(this.Primary.StkTleSatellitePath, this.Secondary.StkCdmSatellitePath); object[] tleTletca = StateCompare.GetTcaRangeInfo(this.Primary.StkTleSatellitePath, this.Secondary.StkTleSatellitePath); List <string> result = new List <string>(); result.Add("Primary CDM to Secondary CDM : TCA " + cdmCdmtca[0].ToString() + " - Range (m) " + ((double)cdmCdmtca[1]).ToString("0.##")); result.Add("Primary CDM to Secondary TLE : TCA " + cdmTletca[0].ToString() + " - Range (m) " + ((double)cdmTletca[1]).ToString("0.##")); result.Add("Primary TLE to Secondary CDM : TCA " + tleCdmtca[0].ToString() + " - Range (m) " + ((double)tleCdmtca[1]).ToString("0.##")); result.Add("Primary TLE to Secondary TLE : TCA " + tleTletca[0].ToString() + " - Range (m) " + ((double)tleTletca[1]).ToString("0.##")); return(result.ToArray()); } return(null); }