private void ExecuteOnStartOperations()
 {
     PlanetList = PlanetsExtention.GetPlanetNames();
     PixelExtention.LoadImage(out PlanetT, "Planet.png", 100);
     PixelExtention.LoadImage(out SatT, "Satellite.png", 32);
     PixelExtention.ClearTexture(out PlanetT_Exterior, PlanetT_Exterior);
 }
        private void OnInputDataChange()
        {
            Ialt   = Convert.ToInt32(alt);
            Icount = Convert.ToInt32(count);
            CelestialBody SelectedBody  = PlanetsExtention.GetCelestialBodyFromName(SelectedItem);
            double        gravParameter = SelectedBody.gravParameter / 1000000000;

            IBodyRadius = (int)(SelectedBody.Radius / 1000);


            altlim = CalcExtention.MinAltitudeForS2SCommunication(SelectedBody, Ialt, 1, Icount);
            cmm    = (string)((altlim == Ialt) ? "Yes" : "No(" + altlim + " km)");
            dist   = Math.Round(CalcExtention.DistanceBetweenS2S(SelectedBody, Ialt, 1, Icount), 3);
            orbp   = Math.Round(CalcExtention.orbitalPeriod(SelectedBody.Radius / 1000, Ialt, gravParameter), 3);
            nightt = Math.Round(CalcExtention.orbitalNightTime(SelectedBody.Radius / 1000, Ialt, gravParameter), 3);

            if (HighLogic.LoadedScene == GameScenes.FLIGHT)
            {
                startDV = Convert.ToString(Math.Round(CalcExtention.hohmannStartDeltaV(SelectedBody.Radius / 1000, this.vessel.altitude / 1000, Ialt, gravParameter) * 1000, 3)) + "m/s ( " + Math.Round(this.vessel.altitude / 1000) + "km) ";
                endDV   = Math.Round(CalcExtention.hohmannFinishDeltaV(SelectedBody.Radius / 1000, this.vessel.altitude / 1000, Ialt, gravParameter) * 1000, 3);
                slidea  = Math.Round(CalcExtention.slidePhaseAngle(SelectedBody.Radius / 1000, Icount, this.vessel.altitude / 1000, Ialt, gravParameter), 3);
                slidet  = Math.Round(CalcExtention.slidePhaseTime(slidea, SelectedBody.Radius / 1000, this.vessel.altitude / 1000, gravParameter), 3);
            }


            //////////////////////////////////////////////// Graphics //////////////////////////////////////////////

            int scaleFactor = CalcExtention.GetScaleFactorForGraphic(IBodyRadius, Ialt, (int)(_GraphicWindow.width / 2 - 32));

            IBodyRadius = IBodyRadius * scaleFactor / 100;
            altRadius   = IBodyRadius / 2 + (Ialt * scaleFactor / 100) / 2;

            PixelExtention.ClearTexture(out PlanetT_Exterior, PlanetT_Exterior);
            PixelExtention.DrawCircle(out PlanetT_Exterior, PlanetT_Exterior, PlanetT_Exterior.width / 2, PlanetT_Exterior.height / 2, altRadius, Color.red);
        }