public void GetInfo(CelestialObjectInfo <Asteroid> info) { info .SetTitle(info.Body.Names.First()) .SetSubtitle(Text.Get("Asteroid.Type")) .AddRow("Constellation") .AddHeader(Text.Get("Asteroid.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Asteroid.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Asteroid.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Asteroid.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Asteroid.Appearance")) .AddRow("Phase") .AddRow("PhaseAngle") .AddRow("Magnitude") .AddRow("DistanceFromEarth") .AddRow("DistanceFromSun") .AddRow("HorizontalParallax"); if (info.Body.PhysicalDiameter > 0) { info.AddRow("AngularDiameter"); } info .AddHeader(Text.Get("Asteroid.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration"); info .AddHeader(Text.Get("Asteroid.Visibility")) .AddRow("Visibility.Begin") .AddRow("Visibility.End") .AddRow("Visibility.Duration") .AddRow("Visibility.Period"); }
public void GetInfo(CelestialObjectInfo <Planet> info) { info .SetSubtitle(Text.Get("Planet.Subtitle")) .SetTitle(info.Body.Names.First()) .AddRow("Constellation") .AddHeader(Text.Get("Planet.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Planet.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Planet.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Planet.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Planet.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("Planet.Visibility")) .AddRow("Visibility.Period") .AddRow("Visibility.Begin") .AddRow("Visibility.End") .AddRow("Visibility.Duration") .AddHeader(Text.Get("Planet.Appearance")) .AddRow("Phase") .AddRow("PhaseAngle") .AddRow("Magnitude") .AddRow("DistanceFromEarth") .AddRow("DistanceFromSun") .AddRow("HorizontalParallax") .AddRow("AngularDiameter") .AddRow("Appearance.CM") .AddRow("Appearance.P") .AddRow("Appearance.D"); if (IsMars(info.Body)) { info .AddHeader(Text.Get("Planet.MartianCalendar")) .AddRow("MartianCalendar.Year") .AddRow("MartianCalendar.Month") .AddRow("MartianCalendar.Sol") .AddRow("MartianCalendar.Ls"); info .AddHeader(Text.Get("Planet.MartianPolarCaps")) .AddRow("MartianPolarCaps.North") .AddRow("MartianPolarCaps.South"); } else if (IsJupiter(info.Body)) { info .AddRow("GRSLongitude"); } else if (IsSaturn(info.Body)) { info .AddHeader(Text.Get("Planet.SaturnRings")) .AddRow("SaturnRings.a") .AddRow("SaturnRings.b"); } }
public void GetInfo(CelestialObjectInfo <DeepSky> info) { DeepSky ds = info.Body; SkyContext c = info.Context; DeepSkyInfo details = c.Get(ReadDeepSkyDetails, ds); string constellation = Constellations.FindConstellation(c.Get(Equatorial, ds), c.JulianDay); info.SetSubtitle(ds.Status.ToString()) .SetTitle(string.Join(" / ", ds.Names)) .AddRow("Constellation", constellation) .AddHeader("Equatorial coordinates (current epoch)") .AddRow("Equatorial.Alpha", ds.Equatorial.Alpha) .AddRow("Equatorial.Delta", ds.Equatorial.Delta) .AddHeader("Equatorial coordinates (J2000.0 epoch)") .AddRow("Equatorial0.Alpha", ds.Equatorial0.Alpha) .AddRow("Equatorial0.Delta", ds.Equatorial0.Delta) .AddHeader("Horizontal coordinates") .AddRow("Horizontal.Azimuth", ds.Horizontal.Azimuth) .AddRow("Horizontal.Altitude", ds.Horizontal.Altitude) .AddHeader("Visibility") .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader("Properties"); info.AddRow("DeepSky.Type", details.ObjectType); if (ds.Mag != null) { info.AddRow("VisualMagnitude", ds.Mag, Formatters.Magnitude); } if (details.PhotoMagnitude != null) { info.AddRow("PhotoMagnitude", details.PhotoMagnitude, Formatters.Magnitude); } if (details.SurfaceBrightness != null) { info.AddRow("Brightness", details.SurfaceBrightness, Formatters.SurfaceBrightness); } if (ds.SizeA > 0) { string size = $"{Formatters.AngularDiameter.Format(ds.SizeA / 60)}"; if (ds.SizeB > 0) { size += $" x {Formatters.AngularDiameter.Format(ds.SizeB / 60)}"; } info.AddRow("AngularDiameter", size, Formatters.Simple); } if (ds.PA > 0) { info.AddRow("Position angle", ds.PA, Formatters.RotationAxis); } if (details.Identifiers.Any() || details.PGC != null) { info.AddHeader("Designations"); if (details.Identifiers.Any()) { info.AddRow("Other catalogs identifiers", string.Join(", ", details.Identifiers)); } if (details.PGC != null) { info.AddRow("PGC catalog number", string.Join(", ", details.PGC)); } } if (!string.IsNullOrEmpty(details.Remarks)) { info.AddRow("Remarks", details.Remarks); } }
public void GetInfo(CelestialObjectInfo <DeepSky> info) { DeepSky ds = info.Body; SkyContext c = info.Context; DeepSkyInfo details = c.Get(ReadDeepSkyDetails, ds); string constellation = Constellations.FindConstellation(c.Get(Equatorial, ds), c.JulianDay); info .SetSubtitle(Text.Get("DeepSky.Status." + ds.Status.ToString())) .SetTitle(string.Join(" / ", ds.Names)) .AddRow("Constellation", constellation) .AddHeader(Text.Get("DeepSky.Equatorial")) .AddRow("Equatorial.Alpha", ds.Equatorial.Alpha) .AddRow("Equatorial.Delta", ds.Equatorial.Delta) .AddHeader(Text.Get("DeepSky.Equatorial0")) .AddRow("Equatorial0.Alpha", ds.Equatorial0.Alpha) .AddRow("Equatorial0.Delta", ds.Equatorial0.Delta) .AddHeader(Text.Get("DeepSky.Horizontal")) .AddRow("Horizontal.Azimuth", ds.Horizontal.Azimuth) .AddRow("Horizontal.Altitude", ds.Horizontal.Altitude) .AddHeader(Text.Get("DeepSky.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddHeader(Text.Get("DeepSky.Properties")); info.AddRow("Type", details.ObjectType); if (ds.Mag != null) { info.AddRow("VisualMagnitude", ds.Mag, Formatters.Magnitude); } if (details.PhotoMagnitude != null) { info.AddRow("PhotoMagnitude", details.PhotoMagnitude, Formatters.Magnitude); } if (details.SurfaceBrightness != null) { info.AddRow("SurfaceBrightness", details.SurfaceBrightness, new Formatters.SignedDoubleFormatter(2, " mag/sq.arcsec")); } if (ds.SizeA > 0) { string size = $"{Formatters.Angle.Format(ds.SizeA / 60)}"; if (ds.SizeB > 0) { size += $" x {Formatters.Angle.Format(ds.SizeB / 60)}"; } info.AddRow("AngularDiameter", size, Formatters.Simple); } if (ds.PA > 0) { info.AddRow("PositionAngle", ds.PA, new Formatters.UnsignedDoubleFormatter(2, "\u00B0")); } if (details.Identifiers.Any() || details.PGC != null) { info.AddHeader(Text.Get("DeepSky.Designations")); if (details.Identifiers.Any()) { info.AddRow("OtherCatalogsIdentifiers", string.Join(", ", details.Identifiers)); } if (details.PGC != null) { info.AddRow("PGCCatalogNumber", string.Join(", ", details.PGC)); } } if (!string.IsNullOrEmpty(details.Remarks)) { info.AddRow("Remarks", details.Remarks); } }
public void GetInfo(CelestialObjectInfo <Moon> info) { var c = info.Context; info.SetTitle(info.Body.Name) .AddRow("Constellation") .AddHeader(Text.Get("Moon.Horizontal")) .AddRow("Horizontal.Azimuth") .AddRow("Horizontal.Altitude") .AddHeader(Text.Get("Moon.Equatorial")) .AddRow("Equatorial.Alpha") .AddRow("Equatorial.Delta") .AddHeader(Text.Get("Moon.Equatorial0")) .AddRow("Equatorial0.Alpha") .AddRow("Equatorial0.Delta") .AddHeader(Text.Get("Moon.Ecliptical")) .AddRow("Ecliptical.Lambda") .AddRow("Ecliptical.Beta") .AddHeader(Text.Get("Moon.RTS")) .AddRow("RTS.Rise") .AddRow("RTS.Transit") .AddRow("RTS.Set") .AddRow("RTS.Duration") .AddRow("RTS.RiseAzimuth") .AddRow("RTS.TransitAltitude") .AddRow("RTS.SetAzimuth") .AddHeader(Text.Get("Moon.Appearance")) .AddRow("Phase") .AddRow("PhaseAngle") .AddRow("Age") .AddRow("Lunation") .AddRow("Magnitude") .AddRow("Distance") .AddRow("HorizontalParallax") .AddRow("AngularDiameter") .AddRow("Libration.Latitude") .AddRow("Libration.Longitude"); info.AddHeader(Text.Get("Moon.Phases")); var phases = new Tuple <string, Date>[] { new Tuple <string, Date>("Phases.NewMoon", c.Get(NearestPhase, MoonPhase.NewMoon)), new Tuple <string, Date>("Phases.FirstQuarter", c.Get(NearestPhase, MoonPhase.FirstQuarter)), new Tuple <string, Date>("Phases.FullMoon", c.Get(NearestPhase, MoonPhase.FullMoon)), new Tuple <string, Date>("Phases.LastQuarter", c.Get(NearestPhase, MoonPhase.LastQuarter)) }; foreach (var p in phases.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } info.AddHeader(Text.Get("Moon.Apsis")); var apsis = new Tuple <string, Date>[] { new Tuple <string, Date>("Apsis.Apogee", c.Get(NearestApsis, MoonApsis.Apogee)), new Tuple <string, Date>("Apsis.Perigee", c.Get(NearestApsis, MoonApsis.Perigee)) }; foreach (var p in apsis.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } info.AddHeader(Text.Get("Moon.MaxDeclinations")); var maxDeclinations = new Tuple <string, Date>[] { new Tuple <string, Date>("MaxDeclinations.North", c.Get(NearestMaxDeclination, MoonDeclination.North)), new Tuple <string, Date>("MaxDeclinations.South", c.Get(NearestMaxDeclination, MoonDeclination.South)) }; foreach (var p in maxDeclinations.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } info.AddHeader(Text.Get("Moon.MaxLibrations")); var maxLibrations = new Tuple <string, Date>[] { new Tuple <string, Date>("MaxLibrations.North", c.Get(NearestMaxLibration, LibrationEdge.North)), new Tuple <string, Date>("MaxLibrations.South", c.Get(NearestMaxLibration, LibrationEdge.South)), new Tuple <string, Date>("MaxLibrations.East", c.Get(NearestMaxLibration, LibrationEdge.East)), new Tuple <string, Date>("MaxLibrations.West", c.Get(NearestMaxLibration, LibrationEdge.West)) }; foreach (var p in maxLibrations.OrderBy(i => i.Item2)) { info.AddRow(p.Item1, p.Item2, Formatters.DateTime); } }