/// <summary>
        /// Renders the celestial info area.
        /// </summary>
        private void RenderCelestialInfoArea()
        {
            // The current celestial.
            CelestialBody celestialBody = celestialBodies[selectedCelestialIndex];

            // Displays the current celestial.
            GUILayout.BeginHorizontal();
            GUILayout.Label("Selected Body: " + celestialSelectValues[selectedCelestialIndex]);
            GUILayout.EndHorizontal();

            // Main info area
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));

            // Orbital Characteristics
            if (celestialBody.orbit != null)
            {
                // Calculations
                double meanOrbitalSpeed = OrbitMath.MeanOrbitalSpeed(celestialBody.orbit.semiMajorAxis, celestialBody.orbit.eccentricity, celestialBody.referenceBody.gravParameter);

                GUILayout.BeginVertical(GUILayout.ExpandWidth(true));
                GUILayout.Label("ORBITAL CHARACTERISTICS");
                GUILayout.Label("Apoapsis: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.ApR, SimpleOrbit.ScalerType.Distance));
                GUILayout.Label("Periapsis: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.PeR, SimpleOrbit.ScalerType.Distance));
                GUILayout.Label("Semi-major axis: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.semiMajorAxis, SimpleOrbit.ScalerType.Distance));
                GUILayout.Label("Eccentricity: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.eccentricity));
                GUILayout.Label("Orbital period: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.period, SimpleOrbit.ScalerType.Time));
                GUILayout.Label("Average orbital speed: " + SOCUtilis.ParseOrbitElement(meanOrbitalSpeed, SimpleOrbit.ScalerType.Speed));
                GUILayout.Label("Mean anomaly at epoch: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.meanAnomalyAtEpoch, SimpleOrbit.ScalerType.Radians));
                GUILayout.Label("Inclination: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.inclination, SimpleOrbit.ScalerType.Degrees));
                GUILayout.Label("Longitude of ascending node: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.LAN, SimpleOrbit.ScalerType.Degrees));
                GUILayout.Label("Argument of periapsis: " + SOCUtilis.ParseOrbitElement(celestialBody.orbit.argumentOfPeriapsis, SimpleOrbit.ScalerType.Degrees));
                GUILayout.EndVertical();
            }

            // Physical Characteristics
            GUILayout.BeginVertical(GUILayout.ExpandWidth(true));
            GUILayout.Label("PHYSICAL CHARACTERISTICS");
            GUILayout.Label("Radius: " + SOCUtilis.ParseOrbitElement(celestialBody.Radius, SimpleOrbit.ScalerType.Distance));
            GUILayout.Label("Circumference: " + SOCUtilis.ParseOrbitElement(celestialBody.Radius * 2.0 * Math.PI, SimpleOrbit.ScalerType.Distance));
            GUILayout.Label("Surface area: " + SOCUtilis.ParseOrbitElement(celestialBody.SurfaceArea, SimpleOrbit.ScalerType.Area));
            GUILayout.Label("Volume: " + SOCUtilis.ParseOrbitElement(celestialBody.Mass / celestialBody.Density, SimpleOrbit.ScalerType.Volume));
            GUILayout.Label("Mass: " + SOCUtilis.ParseOrbitElement(celestialBody.Mass, SimpleOrbit.ScalerType.Mass));
            GUILayout.Label("Density: " + SOCUtilis.ParseOrbitElement(celestialBody.Density, SimpleOrbit.ScalerType.Density));
            GUILayout.Label("Surface gravity: " + SOCUtilis.ParseOrbitElement(celestialBody.GeeASL, "g"));
            GUILayout.Label("Escape velocity: " + SOCUtilis.ParseOrbitElement(Math.Sqrt(2.0 * celestialBody.gravParameter / celestialBody.Radius), SimpleOrbit.ScalerType.Speed));
            GUILayout.Label("Sphere of influence: " + SOCUtilis.ParseOrbitElement(celestialBody.sphereOfInfluence, SimpleOrbit.ScalerType.Distance));
            GUILayout.Label("Sidereal rotation period: " + SOCUtilis.ParseOrbitElement(celestialBody.rotationPeriod, SimpleOrbit.ScalerType.Time));

            CelestialBody planet = SOCUtilis.PlanetOfCelesital(celestialBody);

            if (planet != null)
            {
                double solarDay = Math.Abs(celestialBody.rotationPeriod / (1.0 - celestialBody.rotationPeriod / planet.orbit.period));
                GUILayout.Label("Solar day: " + SOCUtilis.ParseOrbitElement(solarDay, SimpleOrbit.ScalerType.Time));
                if (celestialBody.atmosphere)
                {
                    GUILayout.Label("Surface pressure: " + SOCUtilis.ParseOrbitElement(celestialBody.atmospherePressureSeaLevel, "kPa"));
                }
            }

            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
        }