Added rendezvous readouts.
Added rendezvous readouts.

--- a/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
@@ -12,8 +12,6 @@
 using KerbalEngineer.Flight.Readouts.Surface;

 using KerbalEngineer.Flight.Readouts.Vessel;

 using KerbalEngineer.Settings;

-

-using OrbitalPeriod = KerbalEngineer.Flight.Readouts.Orbital.OrbitalPeriod;

 

 #endregion

 

@@ -49,21 +47,21 @@
         private ReadoutLibrary()

         {

             // Orbital

-            this.readoutModules.Add(new ApoapsisHeight());

-            this.readoutModules.Add(new PeriapsisHeight());

-            this.readoutModules.Add(new TimeToApoapsis());

-            this.readoutModules.Add(new TimeToPeriapsis());

+            this.readoutModules.Add(new Orbital.ApoapsisHeight());

+            this.readoutModules.Add(new Orbital.TimeToApoapsis());

+            this.readoutModules.Add(new Orbital.PeriapsisHeight());

+            this.readoutModules.Add(new Orbital.TimeToPeriapsis());

             this.readoutModules.Add(new Inclination());

             this.readoutModules.Add(new Eccentricity());

             this.readoutModules.Add(new OrbitalSpeed());

-            this.readoutModules.Add(new OrbitalPeriod());

+            this.readoutModules.Add(new Orbital.OrbitalPeriod());

             this.readoutModules.Add(new LongitudeOfAscendingNode());

             this.readoutModules.Add(new LongitudeOfPeriapsis());

             this.readoutModules.Add(new SemiMajorAxis());

             this.readoutModules.Add(new SemiMinorAxis());

 

             // Surface

-            this.readoutModules.Add(new AltitudeSeaLevel());

+            this.readoutModules.Add(new Surface.AltitudeSeaLevel());

             this.readoutModules.Add(new AltitudeTerrain());

             this.readoutModules.Add(new VerticalSpeed());

             this.readoutModules.Add(new HorizontalSpeed());

@@ -84,10 +82,15 @@
             // Rendezvous

             this.readoutModules.Add(new TargetSelector());

             this.readoutModules.Add(new PhaseAngle());

+            this.readoutModules.Add(new InterceptAngle());

             this.readoutModules.Add(new RelativeInclination());

             this.readoutModules.Add(new AngleToAscendingNode());

             this.readoutModules.Add(new AngleToDescendingNode());

-            this.readoutModules.Add(new Altitude());

+            this.readoutModules.Add(new Rendezvous.AltitudeSeaLevel());

+            this.readoutModules.Add(new Rendezvous.ApoapsisHeight());

+            this.readoutModules.Add(new Rendezvous.TimeToApoapsis());

+            this.readoutModules.Add(new Rendezvous.PeriapsisHeight());

+            this.readoutModules.Add(new Rendezvous.TimeToPeriapsis());

             this.readoutModules.Add(new Distance());

             this.readoutModules.Add(new Rendezvous.OrbitalPeriod());

 


--- a/KerbalEngineer/Flight/Readouts/Rendezvous/Altitude.cs
+++ /dev/null
@@ -1,42 +1,1 @@
-// Project:	KerbalEngineer

-// Author:	CYBUTEK

-// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

-

-#region Using Directives

-

-using KerbalEngineer.Extensions;

-

-#endregion

-

-namespace KerbalEngineer.Flight.Readouts.Rendezvous

-{

-    public class Altitude : ReadoutModule

-    {

-        public Altitude()

-        {

-            this.Name = "Altitude";

-            this.Category = ReadoutCategory.Rendezvous;

-            //this.HelpString = "";

-        }

-

-        public override void Update()

-        {

-            RendezvousProcessor.RequestUpdate();

-        }

-

-        public override void Draw()

-        {

-            if (!RendezvousProcessor.ShowDetails)

-            {

-                return;

-            }

-

-            this.DrawLine(RendezvousProcessor.Altitude.ToDistance());

-        }

-

-        public override void Reset()

-        {

-            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

-        }

-    }

-}
+

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/AltitudeSeaLevel.cs
@@ -1,1 +1,42 @@
-
+// Project:	KerbalEngineer

+// Author:	CYBUTEK

+// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

+

+#region Using Directives

+

+using KerbalEngineer.Extensions;

+

+#endregion

+

+namespace KerbalEngineer.Flight.Readouts.Rendezvous

+{

+    public class AltitudeSeaLevel : ReadoutModule

+    {

+        public AltitudeSeaLevel()

+        {

+            this.Name = "Altitude (Sea Level)";

+            this.Category = ReadoutCategory.Rendezvous;

+            //this.HelpString = "";

+        }

+

+        public override void Update()

+        {

+            RendezvousProcessor.RequestUpdate();

+        }

+

+        public override void Draw()

+        {

+            if (!RendezvousProcessor.ShowDetails)

+            {

+                return;

+            }

+

+            this.DrawLine(RendezvousProcessor.AltitudeSeaLevel.ToDistance());

+        }

+

+        public override void Reset()

+        {

+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

+        }

+    }

+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/ApoapsisHeight.cs
@@ -1,1 +1,42 @@
-
+// Project:	KerbalEngineer

+// Author:	CYBUTEK

+// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

+

+#region Using Directives

+

+using KerbalEngineer.Extensions;

+

+#endregion

+

+namespace KerbalEngineer.Flight.Readouts.Rendezvous

+{

+    public class ApoapsisHeight : ReadoutModule

+    {

+        public ApoapsisHeight()

+        {

+            this.Name = "Apoapsis Height";

+            this.Category = ReadoutCategory.Rendezvous;

+            //this.HelpString = "";

+        }

+

+        public override void Update()

+        {

+            RendezvousProcessor.RequestUpdate();

+        }

+

+        public override void Draw()

+        {

+            if (!RendezvousProcessor.ShowDetails)

+            {

+                return;

+            }

+

+            this.DrawLine(RendezvousProcessor.ApoapsisHeight.ToAngle());

+        }

+

+        public override void Reset()

+        {

+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

+        }

+    }

+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/InterceptAngle.cs
@@ -1,1 +1,42 @@
-
+// Project:	KerbalEngineer

+// Author:	CYBUTEK

+// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

+

+#region Using Directives

+

+using KerbalEngineer.Extensions;

+

+#endregion

+

+namespace KerbalEngineer.Flight.Readouts.Rendezvous

+{

+    public class InterceptAngle : ReadoutModule

+    {

+        public InterceptAngle()

+        {

+            this.Name = "Intercept Angle";

+            this.Category = ReadoutCategory.Rendezvous;

+            //this.HelpString = "";

+        }

+

+        public override void Update()

+        {

+            RendezvousProcessor.RequestUpdate();

+        }

+

+        public override void Draw()

+        {

+            if (!RendezvousProcessor.ShowDetails)

+            {

+                return;

+            }

+

+            this.DrawLine(RendezvousProcessor.InterceptAngle.ToAngle());

+        }

+

+        public override void Reset()

+        {

+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

+        }

+    }

+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/PeriapsisHeight.cs
@@ -1,1 +1,42 @@
-
+// Project:	KerbalEngineer

+// Author:	CYBUTEK

+// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

+

+#region Using Directives

+

+using KerbalEngineer.Extensions;

+

+#endregion

+

+namespace KerbalEngineer.Flight.Readouts.Rendezvous

+{

+    public class PeriapsisHeight : ReadoutModule

+    {

+        public PeriapsisHeight()

+        {

+            this.Name = "Periapsis Height";

+            this.Category = ReadoutCategory.Rendezvous;

+            //this.HelpString = "";

+        }

+

+        public override void Update()

+        {

+            RendezvousProcessor.RequestUpdate();

+        }

+

+        public override void Draw()

+        {

+            if (!RendezvousProcessor.ShowDetails)

+            {

+                return;

+            }

+

+            this.DrawLine(RendezvousProcessor.PeriapsisHeight.ToAngle());

+        }

+

+        public override void Reset()

+        {

+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

+        }

+    }

+}

--- a/KerbalEngineer/Flight/Readouts/Rendezvous/RendezvousProcessor.cs
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/RendezvousProcessor.cs
@@ -5,6 +5,8 @@
 #region Using Directives

 

 using System;

+

+using KerbalEngineer.Flight.Readouts.Orbital;

 

 using UnityEngine;

 

@@ -72,7 +74,27 @@
         /// <summary>

         ///     Gets the target's altitude above its reference body.

         /// </summary>

-        public static double Altitude { get; private set; }

+        public static double AltitudeSeaLevel { get; private set; }

+

+        /// <summary>

+        ///     Gets the target's apoapsis above its reference body.

+        /// </summary>

+        public static double ApoapsisHeight { get; private set; }

+

+        /// <summary>

+        ///     Gets the target's periapsis above its reference body.

+        /// </summary>

+        public static double PeriapsisHeight { get; private set; }

+

+        /// <summary>

+        ///     Gets the target's time to apoapsis.

+        /// </summary>

+        public static double TimeToApoapsis { get; private set; }

+

+        /// <summary>

+        ///     Gets the target's time to periapsis.

+        /// </summary>

+        public static double TimeToPeriapsis { get; private set; }

 

         /// <summary>

         ///     Gets the distance from the origin position to the target position.

@@ -114,7 +136,12 @@
             RelativeInclination = Vector3d.Angle(this.originOrbit.GetOrbitNormal(), this.targetOrbit.GetOrbitNormal());

             AngleToAscendingNode = this.CalcAngleToAscendingNode();

             AngleToDescendingNode = this.CalcAngleToDescendingNode();

-            Altitude = this.targetOrbit.altitude;

+            AltitudeSeaLevel = this.targetOrbit.altitude;

+            ApoapsisHeight = this.targetOrbit.ApA;

+            PeriapsisHeight = this.targetOrbit.PeA;

+            TimeToApoapsis = this.targetOrbit.timeToAp;

+            TimeToPeriapsis = this.targetOrbit.timeToPe;

+

             Distance = Vector3d.Distance(this.targetPosition, this.originPosition);

             OrbitalPeriod = this.targetOrbit.period;

         }


--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/TimeToApoapsis.cs
@@ -1,1 +1,42 @@
-
+// Project:	KerbalEngineer

+// Author:	CYBUTEK

+// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

+

+#region Using Directives

+

+using KerbalEngineer.Extensions;

+

+#endregion

+

+namespace KerbalEngineer.Flight.Readouts.Rendezvous

+{

+    public class TimeToApoapsis : ReadoutModule

+    {

+        public TimeToApoapsis()

+        {

+            this.Name = "Time to Apoapsis";

+            this.Category = ReadoutCategory.Rendezvous;

+            //this.HelpString = "";

+        }

+

+        public override void Update()

+        {

+            RendezvousProcessor.RequestUpdate();

+        }

+

+        public override void Draw()

+        {

+            if (!RendezvousProcessor.ShowDetails)

+            {

+                return;

+            }

+

+            this.DrawLine(RendezvousProcessor.TimeToApoapsis.ToTime());

+        }

+

+        public override void Reset()

+        {

+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

+        }

+    }

+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Rendezvous/TimeToPeriapsis.cs
@@ -1,1 +1,42 @@
-
+// Project:	KerbalEngineer

+// Author:	CYBUTEK

+// License:	Attribution-NonCommercial-ShareAlike 3.0 Unported

+

+#region Using Directives

+

+using KerbalEngineer.Extensions;

+

+#endregion

+

+namespace KerbalEngineer.Flight.Readouts.Rendezvous

+{

+    public class TimeToPeriapsis : ReadoutModule

+    {

+        public TimeToPeriapsis()

+        {

+            this.Name = "Time to Periapsis";

+            this.Category = ReadoutCategory.Rendezvous;

+            //this.HelpString = "";

+        }

+

+        public override void Update()

+        {

+            RendezvousProcessor.RequestUpdate();

+        }

+

+        public override void Draw()

+        {

+            if (!RendezvousProcessor.ShowDetails)

+            {

+                return;

+            }

+

+            this.DrawLine(RendezvousProcessor.TimeToPeriapsis.ToTime());

+        }

+

+        public override void Reset()

+        {

+            FlightEngineerCore.Instance.AddUpdatable(RendezvousProcessor.Instance);

+        }

+    }

+}

--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -83,9 +83,14 @@
     <Compile Include="Flight\Readouts\ReadoutCategory.cs" />

     <Compile Include="Flight\Readouts\ReadoutLibrary.cs" />

     <Compile Include="Flight\Readouts\ReadoutModule.cs" />

+    <Compile Include="Flight\Readouts\Rendezvous\TimeToPeriapsis.cs" />

+    <Compile Include="Flight\Readouts\Rendezvous\TimeToApoapsis.cs" />

+    <Compile Include="Flight\Readouts\Rendezvous\PeriapsisHeight.cs" />

+    <Compile Include="Flight\Readouts\Rendezvous\ApoapsisHeight.cs" />

+    <Compile Include="Flight\Readouts\Rendezvous\InterceptAngle.cs" />

     <Compile Include="Flight\Readouts\Rendezvous\OrbitalPeriod.cs" />

     <Compile Include="Flight\Readouts\Rendezvous\Distance.cs" />

-    <Compile Include="Flight\Readouts\Rendezvous\Altitude.cs" />

+    <Compile Include="Flight\Readouts\Rendezvous\AltitudeSeaLevel.cs" />

     <Compile Include="Flight\Readouts\Rendezvous\AngleToDescendingNode.cs" />

     <Compile Include="Flight\Readouts\Rendezvous\AngleToAscendingNode.cs" />

     <Compile Include="Flight\Readouts\Rendezvous\PhaseAngle.cs" />


 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ