private void InitializeModules() { modules = new List <IInfoModule>(); peri = new Periapsis("Periapsis", currentVessel); apo = new Apoapsis("Apoapsis", currentVessel); sma = new SemiMajorAxis("Semi-Major Axis", currentVessel); ecc = new Eccentricity("Eccentricity", currentVessel); inc = new Inclination("Inclination", currentVessel); alt = new Altitude("Current Altitude", currentVessel); vel = new Velocity("Current Speed", currentVessel); acc = new Acceleration("Current Acceleration", currentVessel); peri.IsVisible = PTGUI_Settings.Instance.showPeriapsis; apo.IsVisible = PTGUI_Settings.Instance.showApoapsis; sma.IsVisible = PTGUI_Settings.Instance.showSMA; ecc.IsVisible = PTGUI_Settings.Instance.showApoapsis; inc.IsVisible = PTGUI_Settings.Instance.showInclination; alt.IsVisible = PTGUI_Settings.Instance.showAltitude; vel.IsVisible = PTGUI_Settings.Instance.showVelocity; acc.IsVisible = PTGUI_Settings.Instance.showAcceleration; modules.Add(peri); modules.Add(apo); modules.Add(sma); modules.Add(ecc); modules.Add(inc); modules.Add(alt); modules.Add(vel); modules.Add(acc); }
public virtual void SaveToXml(System.Xml.XmlTextWriter xmlWriter) { xmlWriter.WriteStartElement("ReferenceFrame"); xmlWriter.WriteAttributeString("Name", Name); xmlWriter.WriteAttributeString("Parent", Parent); xmlWriter.WriteAttributeString("ReferenceFrameType", ReferenceFrameType.ToString()); xmlWriter.WriteAttributeString("Reference", Reference.ToString()); xmlWriter.WriteAttributeString("ParentsRoationalBase", ParentsRoationalBase.ToString()); xmlWriter.WriteAttributeString("MeanRadius", MeanRadius.ToString()); xmlWriter.WriteAttributeString("Oblateness", Oblateness.ToString()); xmlWriter.WriteAttributeString("Heading", Heading.ToString()); xmlWriter.WriteAttributeString("Pitch", Pitch.ToString()); xmlWriter.WriteAttributeString("Roll", Roll.ToString()); xmlWriter.WriteAttributeString("Scale", Scale.ToString()); xmlWriter.WriteAttributeString("Tilt", Tilt.ToString()); xmlWriter.WriteAttributeString("Translation", Translation.ToString()); if (ReferenceFrameType == ReferenceFrameTypes.FixedSherical) { xmlWriter.WriteAttributeString("Lat", Lat.ToString()); xmlWriter.WriteAttributeString("Lng", Lng.ToString()); xmlWriter.WriteAttributeString("Altitude", Altitude.ToString()); } xmlWriter.WriteAttributeString("RotationalPeriod", RotationalPeriod.ToString()); xmlWriter.WriteAttributeString("ZeroRotationDate", ZeroRotationDate.ToString()); xmlWriter.WriteAttributeString("RepresentativeColor", SavedColor.Save(RepresentativeColor)); xmlWriter.WriteAttributeString("ShowAsPoint", ShowAsPoint.ToString()); xmlWriter.WriteAttributeString("ShowOrbitPath", ShowOrbitPath.ToString()); xmlWriter.WriteAttributeString("StationKeeping", StationKeeping.ToString()); if (ReferenceFrameType == ReferenceFrameTypes.Orbital) { xmlWriter.WriteAttributeString("SemiMajorAxis", SemiMajorAxis.ToString()); xmlWriter.WriteAttributeString("SemiMajorAxisScale", this.SemiMajorAxisUnits.ToString()); xmlWriter.WriteAttributeString("Eccentricity", Eccentricity.ToString()); xmlWriter.WriteAttributeString("Inclination", Inclination.ToString()); xmlWriter.WriteAttributeString("ArgumentOfPeriapsis", ArgumentOfPeriapsis.ToString()); xmlWriter.WriteAttributeString("LongitudeOfAscendingNode", LongitudeOfAscendingNode.ToString()); xmlWriter.WriteAttributeString("MeanAnomolyAtEpoch", MeanAnomolyAtEpoch.ToString()); xmlWriter.WriteAttributeString("MeanDailyMotion", MeanDailyMotion.ToString()); xmlWriter.WriteAttributeString("Epoch", Epoch.ToString()); } if (ReferenceFrameType == ReferenceFrameTypes.Trajectory) { xmlWriter.WriteStartElement("Trajectory"); foreach (TrajectorySample sample in Trajectory) { string data = sample.ToString(); xmlWriter.WriteElementString("Sample", data); } xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); }
private List <IBasicModule> AddOrbitModules() { List <IBasicModule> modules = new List <IBasicModule>(); apo = new Apoapsis("Apoapsis"); peri = new Periapsis("Periapsis"); inc = new Inclination("Inclination"); ecc = new Eccentricity("Eccentricity"); period = new Period("Period"); SMA = new SemiMajorAxis("Semi Major Axis"); LAN = new LongAscending("LAN"); AoPE = new ArgOfPeriapsis("Arg of Pe"); altitude = new OrbitAltitude("Altitude"); radar = new RadarAltitude("Radar Altitude"); terrain = new TerrainAltitude("Terrain Altitude"); location = new Location("Location"); apo.IsVisible = settings.showApoapsis; apo.AlwaysShow = settings.showApoapsisAlways; peri.IsVisible = settings.showPeriapsis; peri.AlwaysShow = settings.showPeriapsisAlways; inc.IsVisible = settings.showInclination; inc.AlwaysShow = settings.showInclinationAlways; ecc.IsVisible = settings.showEccentricity; ecc.AlwaysShow = settings.showEccentricityAlways; period.IsVisible = settings.showPeriod; period.AlwaysShow = settings.showPeriodAlways; SMA.IsVisible = settings.showSMA; SMA.AlwaysShow = settings.showSMAAlways; LAN.IsVisible = settings.showLAN; LAN.AlwaysShow = settings.showLANAlways; AoPE.IsVisible = settings.showAoPe; AoPE.AlwaysShow = settings.showAoPeAlways; altitude.IsVisible = settings.showOrbitAltitude; altitude.AlwaysShow = settings.showOrbitAltitudeAlways; radar.IsVisible = settings.showRadar; radar.AlwaysShow = settings.showRadarAlways; terrain.IsVisible = settings.showTerrain; terrain.AlwaysShow = settings.showTerrainAlways; location.IsVisible = settings.showLocation; location.AlwaysShow = settings.showLocationAlways; modules.Add(AoPE); modules.Add(LAN); modules.Add(SMA); modules.Add(terrain); modules.Add(radar); modules.Add(altitude); modules.Add(location); modules.Add(period); modules.Add(ecc); modules.Add(inc); modules.Add(peri); modules.Add(apo); return(modules); }
/// <summary> /// Converts an object into its XML representation. /// </summary> /// <param name="writer">The <see cref="T:System.Xml.XmlWriter"/> stream to which the object is serialized.</param> public void WriteXml(XmlWriter writer) { /* The GML specification defines an ellipsoid as follows: * * <gml:Ellipsoid gml:id="ogrcrs44"> * <gml:ellipsoidName>GRS 1980</gml:ellipsoidName> * <gml:ellipsoidID> * <gml:name gml:codeSpace="urn:ogc:def:ellipsoid:EPSG::">7019</gml:name> * </gml:ellipsoidID> * <gml:semiMajorAxis gml:uom="urn:ogc:def:uom:EPSG::9001">6378137</gml:semiMajorAxis> * <gml:secondDefiningParameter> * <gml:inverseFlattening gml:uom="urn:ogc:def:uom:EPSG::9201">298.257222101</gml:inverseFlattening> * </gml:secondDefiningParameter> * </gml:Ellipsoid> * */ writer.WriteStartElement(Xml.GML_XML_PREFIX, "Ellipsoid", Xml.GML_XML_NAMESPACE); writer.WriteElementString(Xml.GML_XML_PREFIX, "ellipsoidName", Xml.GML_XML_NAMESPACE, _name); writer.WriteStartElement(Xml.GML_XML_PREFIX, "ellipsoidID", Xml.GML_XML_NAMESPACE); writer.WriteString(_epsgNumber.ToString()); writer.WriteEndElement(); writer.WriteStartElement(Xml.GML_XML_PREFIX, "semiMajorAxis", Xml.GML_XML_NAMESPACE); writer.WriteString(SemiMajorAxis.ToMeters().Value.ToString("G17")); writer.WriteEndElement(); writer.WriteStartElement(Xml.GML_XML_PREFIX, "semiMinorAxis", Xml.GML_XML_NAMESPACE); writer.WriteString(SemiMinorAxis.ToMeters().Value.ToString("G17")); writer.WriteEndElement(); writer.WriteStartElement(Xml.GML_XML_PREFIX, "secondDefiningParameter", Xml.GML_XML_NAMESPACE); writer.WriteElementString(Xml.GML_XML_PREFIX, "inverseFlattening", Xml.GML_XML_NAMESPACE, InverseFlattening.ToString("G17")); writer.WriteEndElement(); writer.WriteEndElement(); SanityCheck(); Calculate(); }
/// <summary> /// 返回哈希代码。 /// </summary> /// <returns></returns> public override int GetHashCode() { return(SemiMajorAxis.GetHashCode() * 13 + SemiMinorAxis.GetHashCode() * 5); }