예제 #1
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 1; i++)
            {
                screenLabels.Add(null);                                     // Initialize Labels
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                     // Initialize Inputs
            }
            screenInputs[0] = Helper.CreateInput(-2, -2, 1, 2);             // Every page must have an input to capture keypresses on Unix

            screenLabels[0] = Helper.CreateLabel(39, 0, 42, 1, "======= ALTITUDES =======");

            // Altitude vs. Orbital Speed
            screenCharts[0]             = Helper.CreatePlot(0, 1, 120, 30, -1, -1, 0, -1);
            screenCharts[0].fixedXwidth = 600;
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(2, Color.FromArgb(200, 0, 169, 51));
            screenCharts[0].setSeriesColor(3, Color.FromArgb(200, 0, 51, 204));
            screenCharts[0].setSeriesColor(4, Color.FromArgb(200, 204, 51, 0));
        }
예제 #2
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 4; i++)
            {
                screenLabels.Add(null);                                     // Initialize Labels
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                     // Initialize Inputs
            }
            screenInputs[0] = Helper.CreateInput(-1, -1, 1, 1);             // Every page must have an input to capture keypresses on Unix
            //screenInputs[0].Text = maxHDOT.ToString();
            //screenInputs[0].TextChanged += (sender, e) => this.setmaxHDOT(sender, e);

            screenLabels[0] = Helper.CreateLabel(30, 0, 60, 1, "======= FLIGHT PATH ANGLE / INERTIAL VELOCITY =======");

            screenCharts[0] = Helper.CreatePlot(0, 1, 120, 30, 0, 3000, -4, 60);
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 0, 0));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 251, 0, 0));
            screenCharts[0].setSeriesColor(2, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(3, Color.FromArgb(200, 0, 251, 0));
            screenCharts[0].setSeriesColor(4, Color.FromArgb(100, 0, 251, 0));
            screenCharts[0].setSeriesColor(5, Color.FromArgb(100, 0, 251, 0));
            screenCharts[0].setSeriesColor(6, Color.FromArgb(100, 0, 251, 0));
            screenCharts[0].setSeriesColor(7, Color.FromArgb(100, 0, 251, 0));
        }
예제 #3
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 3; i++)
            {
                screenLabels.Add(null);                                     // Initialize Labels
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                    // Initialize Inputs
            }
            screenInputs[0] = Helper.CreateInput(-2, -2, 1, 2);            // Every page must have an input to capture keypresses on Unix

            screenLabels[0] = Helper.CreateLabel(39, 0, 42, 1, "======= TERRAIN / TIME =======");


            // Altitude vs. Time Graph
            screenCharts[0]             = Helper.CreatePlot(0, 1, 120, 30, -1, -1, -100, 3000);
            screenCharts[0].fixedXwidth = 600;
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 0, 251, 0));
        }
예제 #4
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 3; i++)
            {
                screenLabels.Add(null);                                     // Initialize Labels
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                      // Initialize Inputs
            }
            screenInputs[0]              = Helper.CreateInput(10, 0, 10, 1); // Every page must have an input to capture keypresses on Unix
            screenInputs[0].Text         = maxHDOT.ToString();
            screenInputs[0].TextChanged += (sender, e) => this.setmaxHDOT(sender, e);

            screenLabels[0] = Helper.CreateLabel(39, 0, 42, 1, "======= H / HDOT =======");
            screenLabels[1] = Helper.CreateLabel(0, 0, 10, 1, "MAX HDOT:");

            screenCharts[0] = Helper.CreatePlot(0, 1, 120, 30, -100, 1200, 0, -1);
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 0, 0));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 251, 0, 0));
            screenCharts[0].setSeriesColor(2, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(3, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(4, Color.FromArgb(200, 0, 169, 51));
            screenCharts[0].setSeriesColor(5, Color.FromArgb(200, 0, 51, 204));
            screenCharts[0].setSeriesColor(6, Color.FromArgb(200, 204, 51, 0));


            calcApoMax();
        }
예제 #5
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 1; i++)
            {
                screenLabels.Add(null);                                     // Initialize Labels
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                     // Initialize Inputs
            }
            screenInputs[0] = Helper.CreateInput(-2, -2, 1, 2);             // Every page must have an input to capture keypresses on Unix

            screenLabels[0] = Helper.CreateLabel(0, 0, 120, 1, Helper.prtlen("======= TIME TO APOAPSIS / INERTIAL VELOCITY =======", 120, Helper.Align.CENTER));

            // Altitude vs. Orbital Speed
            screenCharts[0] = Helper.CreatePlot(0, 1, 120, 30, 0, 3000, 0, -1);
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 0, 0));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 251, 251, 251));
        }
예제 #6
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 3; i++)
            {
                screenLabels.Add(null);                                     // Initialize Labels
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                     // Initialize Inputs
            }
            for (int i = 0; i < 1; i++)
            {
                screenButtons.Add(null);                                      // Initialize Buttons
            }
            screenInputs[0]              = Helper.CreateInput(109, 0, 10, 1); // Every page must have an input to capture keypresses on Unix
            screenInputs[0].Text         = range.ToString();
            screenInputs[0].TextChanged += (sender, e) => this.setRange(sender, e);

            screenButtons[0]        = Helper.CreateButton(0, 0, 12, 1, "SET ORIGIN");
            screenButtons[0].Font   = form.buttonFont;
            screenButtons[0].Click += (sender, e) => this.setOrigin(sender, e);

            screenLabels[0] = Helper.CreateLabel(39, 0, 42, 1, "======= ALTITUDE/RANGE FROM ORIGIN =======");
            screenLabels[1] = Helper.CreateLabel(13, 0, 42, 1, "ORIGIN NOT SET");
            screenLabels[2] = Helper.CreateLabel(93, 0, 16, 1, "INSERTION RANGE");

            // Altitude vs. Orbital Speed
            screenCharts[0] = Helper.CreatePlot(0, 1, 120, 30, 0, -1, 0, -1);
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 0, 0));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 0, 251, 0));
            screenCharts[0].setSeriesColor(2, Color.FromArgb(100, 0, 251, 0));
            screenCharts[0].setSeriesColor(3, Color.FromArgb(100, 251, 251, 251));
        }
예제 #7
0
        public override void makeElements()
        {
            for (int i = 0; i < 3; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 1; i++)
            {
                screenInputs.Add(null);                                     // Initialize Inputs
            }
            screenInputs[0] = Helper.CreateInput(-2, -2, 1, 2);             // Every page must have an input to capture keypresses on Unix

            screenCharts[0] = Helper.CreatePlot(0, 0, 60, 10, -1, -1, -180, 180);
            screenCharts[0].setSeriesColor(0, Color.FromArgb(200, 255, 255, 255));
            screenCharts[0].fixedXwidth = 600;

            screenCharts[1] = Helper.CreatePlot(0, 10, 60, 10, -1, -1, -90, 90);
            screenCharts[1].setSeriesColor(0, Color.FromArgb(200, 255, 255, 255));
            screenCharts[1].fixedXwidth = 600;

            screenCharts[2] = Helper.CreatePlot(0, 20, 60, 10, -1, -1, 0, 360);
            screenCharts[2].setSeriesColor(0, Color.FromArgb(200, 255, 255, 255));
            screenCharts[2].fixedXwidth = 600;
        }
예제 #8
0
        public override void makeElements()
        {
            for (int i = 0; i < 100; i++)
            {
                screenLabels.Add(null);                                       // Initialize Labels
            }
            for (int i = 0; i < 12; i++)
            {
                screenIndicators.Add(null);                                                                                                              // Initialize Indicators
            }
            screenLabels[0]  = Helper.CreateLabel(16, 1, 13);                                                                                            // Local Time
            screenLabels[1]  = Helper.CreateLabel(0, 1, 14);                                                                                             // MET Time
            screenLabels[2]  = Helper.CreateLabel(39, 0, 42, 1, "============ ASCENSION MODULE ============");                                           // Screen Title
            screenLabels[3]  = Helper.CreateLabel(84, 0, 39, 1, "├───────────── STATUS ─────────────┤");                                                 // Status Headline
            screenLabels[4]  = Helper.CreateLabel(84, 1, 1, 1, "│");
            screenLabels[5]  = Helper.CreateLabel(0, 2, 85, 1, "────────────────── ORBIT ──────────────────┬─────────────── POSITION ───────────────┤"); // Obrit/Position headline
            screenLabels[6]  = Helper.CreateLabel(0, 3, 44, 1, "                 CUR       TGT       DTA   │");                                          // Orbit subheadlines
            screenLabels[7]  = Helper.CreateLabel(43, 4, 1, 1, "│");
            screenLabels[8]  = Helper.CreateLabel(43, 5, 1, 1, "│");
            screenLabels[9]  = Helper.CreateLabel(43, 6, 1, 1, "│");
            screenLabels[10] = Helper.CreateLabel(43, 7, 1, 1, "│");
            screenLabels[11] = Helper.CreateLabel(43, 8, 1, 1, "│");
            screenLabels[12] = Helper.CreateLabel(43, 9, 1, 1, "│");
            screenLabels[13] = Helper.CreateLabel(43, 10, 1, 1, "│");
            screenLabels[14] = Helper.CreateLabel(43, 11, 1, 1, "│");
            screenLabels[15] = Helper.CreateLabel(43, 12, 1, 1, "│");
            screenLabels[16] = Helper.CreateLabel(84, 3, 1, 1, "│");
            screenLabels[17] = Helper.CreateLabel(84, 4, 1, 1, "│");
            screenLabels[18] = Helper.CreateLabel(84, 5, 1, 1, "│");
            screenLabels[19] = Helper.CreateLabel(84, 6, 1, 1, "│");
            screenLabels[20] = Helper.CreateLabel(84, 7, 36, 1, "│┌─────────── SUPPLIES ────────────┐");
            screenLabels[21] = Helper.CreateLabel(84, 8, 1, 1, "│");
            screenLabels[22] = Helper.CreateLabel(84, 9, 1, 1, "│");
            screenLabels[23] = Helper.CreateLabel(84, 10, 1, 1, "│");
            screenLabels[24] = Helper.CreateLabel(84, 11, 1, 1, "│");
            screenLabels[25] = Helper.CreateLabel(84, 12, 1, 1, "│");
            screenLabels[26] = Helper.CreateLabel(43, 13, 1, 1, "│");
            screenLabels[27] = Helper.CreateLabel(43, 14, 1, 1, "│");
            screenLabels[28] = Helper.CreateLabel(84, 13, 1, 1, "│");
            screenLabels[29] = Helper.CreateLabel(84, 14, 1, 1, "│");

            // Orbit data
            screenLabels[30] = Helper.CreateLabel(2, 4, 20, 1, "      Alt: ");             // Altitude
            screenLabels[31] = Helper.CreateLabel(2, 5, 20, 1, " Apoapsis: ");             // Apoapsis
            screenLabels[32] = Helper.CreateLabel(2, 6, 20, 1, "Periapsis: ");             // Periapasis
            screenLabels[33] = Helper.CreateLabel(2, 7, 20, 1, "      TtA: ");             // Time to Apoapsis
            screenLabels[34] = Helper.CreateLabel(2, 8, 20, 1, "      TtP: ");             // Time to Periapsis
            screenLabels[35] = Helper.CreateLabel(2, 9, 20, 1, "      Inc: ");             // Inclination
            screenLabels[36] = Helper.CreateLabel(2, 10, 20, 1, "      Ecc: ");            // Eccentricity
            screenLabels[37] = Helper.CreateLabel(2, 12, 20, 1, " Orb. Vel: ");            // Orbit Velocity
            screenLabels[38] = Helper.CreateLabel(2, 13, 20, 1, " Sur. Vel: ");            // Surface Velocity

            // Position data
            screenLabels[40] = Helper.CreateLabel(44, 4, 20, 1, "  Body: ");           // Sphere of Influence
            screenLabels[41] = Helper.CreateLabel(44, 5, 20, 1, "   Lat: ");           // Latitude
            screenLabels[42] = Helper.CreateLabel(44, 6, 20, 1, "   Lon: ");           // Longitude
            screenLabels[43] = Helper.CreateLabel(44, 9, 39, 1, " Atm.Den: ");         // Atmosphere Density AND Radar Alt
            screenLabels[44] = Helper.CreateLabel(44, 10, 20, 1, " Atm.Pre: ");        // Atmosphere Pressure
            screenLabels[45] = Helper.CreateLabel(44, 11, 20, 1, " Dyn.Pre: ");        // Dynamic Pressure
            screenLabels[46] = Helper.CreateLabel(64, 5, 19, 1, "R: ");                // Roll
            screenLabels[47] = Helper.CreateLabel(64, 6, 19, 1, "P: ");                // Pitch
            screenLabels[48] = Helper.CreateLabel(64, 7, 19, 1, "Y: ");                // Yaw
            screenLabels[49] = Helper.CreateLabel(64, 4, 19, 1, "     SURF     ORBT"); // RPY Headlines

            // Supplies
            screenLabels[50] = Helper.CreateLabel(85, 8, 35, 1, "                     ");                // Supply line 1
            screenLabels[51] = Helper.CreateLabel(85, 9, 35, 1, "                     ");                // Supply line 2
            screenLabels[52] = Helper.CreateLabel(85, 10, 35, 1, "                     ");               // Supply line 3
            screenLabels[53] = Helper.CreateLabel(85, 11, 35, 1, "                     ");               // Supply line 4
            screenLabels[54] = Helper.CreateLabel(85, 12, 35, 1, "                     ");               // Supply line 5
            screenLabels[55] = Helper.CreateLabel(85, 13, 35, 1, "                     ");               // Supply line 5
            screenLabels[58] = Helper.CreateLabel(85, 14, 35, 1, "└─────────────────────────────────┘"); // Supply line 6

            // Orbit Targets and Deltas
            screenLabels[60] = Helper.CreateLabel(24, 10, 8, 1, "");            // Target Eccentricity
            screenLabels[61] = Helper.CreateLabel(24, 12, 8, 1, "");            // Target Orbital Velocity

            screenLabels[65] = Helper.CreateLabel(34, 5, 8, 1, "");             // Delta Apoapsis
            screenLabels[66] = Helper.CreateLabel(34, 6, 8, 1, "");             // Delta Periapsis
            screenLabels[67] = Helper.CreateLabel(34, 10, 8, 1, "");            // Delta Eccentricity
            screenLabels[68] = Helper.CreateLabel(34, 12, 8, 1, "");            // Delta Orbital Velocty

            // Status
            screenIndicators[0]  = Helper.CreateIndicator(86, 1, 10, 1, "SAS");
            screenIndicators[1]  = Helper.CreateIndicator(97, 1, 10, 1, "RCS");
            screenIndicators[2]  = Helper.CreateIndicator(108, 1, 10, 1, "GEAR");
            screenIndicators[3]  = Helper.CreateIndicator(86, 2, 10, 1, "BRAKES");
            screenIndicators[4]  = Helper.CreateIndicator(97, 2, 10, 1, "LIGHTS");
            screenIndicators[5]  = Helper.CreateIndicator(108, 2, 10, 1, "ABORT");
            screenIndicators[6]  = Helper.CreateIndicator(86, 4, 10, 1, "POWER HI");
            screenIndicators[7]  = Helper.CreateIndicator(97, 4, 10, 1, "G HIGH");
            screenIndicators[8]  = Helper.CreateIndicator(108, 4, 10, 1, "LOX LOW");
            screenIndicators[9]  = Helper.CreateIndicator(86, 5, 10, 1, "POWER LOW");
            screenIndicators[10] = Helper.CreateIndicator(97, 5, 10, 1, "MONO LOW");
            screenIndicators[11] = Helper.CreateIndicator(108, 5, 10, 1, "FUEL LOW");

            // Get target apo/peri from PySSSMQ if they exsists there. If they don't write them in.
            string tgtapo  = form.dataStorage.getData("TGTAPO");
            string tgtperi = form.dataStorage.getData("TGTPERI");

            if (tgtapo == "")
            {
                tgtapo = "120000";
                form.dataStorage.setData("TGTAPO", tgtapo);
            }

            if (tgtperi == "")
            {
                tgtperi = "120000";
                form.dataStorage.setData("TGTPERI", tgtperi);
            }

            for (int i = 0; i < 5; i++)
            {
                screenInputs.Add(null);                                                                // Initialize Inputs
            }
            screenInputs[0]              = Helper.CreateInput(24, 5, 8, 1, HorizontalAlignment.Right); // Target Apoapsis
            screenInputs[0].Text         = tgtapo;
            screenInputs[0].TextChanged += (sender, e) => updateApo(sender, e, screenInputs[0].Text);
            screenInputs[1]              = Helper.CreateInput(24, 6, 8, 1, HorizontalAlignment.Right); // Target Periapsis
            screenInputs[1].Text         = tgtperi;
            screenInputs[1].TextChanged += (sender, e) => updatePeri(sender, e, screenInputs[1].Text);


            for (int i = 0; i < 2; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            // Altitude vs. Time Graph
            screenCharts[0]             = Helper.CreatePlot(0, 15, 60, 15, -1, -1, 0, -1);
            screenCharts[0].fixedXwidth = 600;
            screenCharts[0].setSeriesColor(0, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(100, 251, 251, 251));
            screenCharts[0].setSeriesColor(2, Color.FromArgb(200, 0, 169, 51));
            screenCharts[0].setSeriesColor(3, Color.FromArgb(200, 0, 51, 204));
            screenCharts[0].setSeriesColor(4, Color.FromArgb(200, 204, 51, 0));

            // Gee-Force vs. Time Graph
            screenCharts[1]             = Helper.CreatePlot(60, 15, 60, 15, -1, -1);
            screenCharts[1].fixedXwidth = 600;
        }
예제 #9
0
        public override void makeElements()
        {
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Charts
            }
            for (int i = 0; i < 60; i++)
            {
                screenLabels.Add(null);                                      // Initialize Labels
            }
            for (int i = 0; i < 10; i++)
            {
                screenInputs.Add(null);                                      // Initialize Inputs
            }
            for (int i = 0; i < 10; i++)
            {
                screenButtons.Add(null);                                      // Initialize Buttons
            }
            for (int i = 0; i < 1; i++)
            {
                screenDropdowns.Add(null);                                     // Initialize Dropdowns
            }
            for (int i = 0; i < 1; i++)
            {
                screenCharts.Add(null);                                     // Initialize Chart
            }
            //screenInputs[0] = Helper.CreateInput(-2, -2, 1, 2); // Every page must have an input to capture keypresses on Unix

            screenLabels[0] = Helper.CreateLabel(39, 0, 42, 1, "============ FLIGHT DYNAMICS =============");

            screenLabels[1] = Helper.CreateLabel(16, 1, 13);            // Local Time
            screenLabels[2] = Helper.CreateLabel(0, 1, 14);             // MET Time
            screenLabels[3] = Helper.CreateLabel(32, 1, 15);            // UT Time

            // BURN DATA LABLES
            screenLabels[4]  = Helper.CreateLabel(0, 2, 120, 1, "── CURRENT ORBITS DATA ──┬─────────── BURN DATA ───────────┬────────────────────");
            screenLabels[5]  = Helper.CreateLabel(25, 3, 1, 1, "│");
            screenLabels[25] = Helper.CreateLabel(42, 3, 15, 1, "HRS   MIN   SEC");
            screenLabels[6]  = Helper.CreateLabel(25, 4, 1, 1, "│");
            screenLabels[26] = Helper.CreateLabel(36, 4, 4, 1, "TIG:");
            screenLabels[7]  = Helper.CreateLabel(25, 6, 32, 1, "│    [+]          [-]     ΔV M/S");
            screenLabels[8]  = Helper.CreateLabel(25, 7, 25, 1, "│  PROGRADE / RETROGRADE:");
            screenLabels[9]  = Helper.CreateLabel(25, 8, 25, 1, "│ RADIAL IN / RADIAL OUT:");
            screenLabels[10] = Helper.CreateLabel(25, 9, 25, 1, "│    NORMAL / ANTINORMAL:");

            screenLabels[11] = Helper.CreateLabel(25, 5, 11, 1, "│ ItCount: ");
            screenLabels[12] = Helper.CreateLabel(59, 3, 1, 1, "│");
            screenLabels[13] = Helper.CreateLabel(59, 4, 1, 1, "│");
            screenLabels[14] = Helper.CreateLabel(59, 5, 1, 1, "│");
            screenLabels[15] = Helper.CreateLabel(59, 6, 1, 1, "│");
            screenLabels[16] = Helper.CreateLabel(59, 7, 1, 1, "│");
            screenLabels[17] = Helper.CreateLabel(59, 8, 1, 1, "│");
            screenLabels[18] = Helper.CreateLabel(59, 9, 1, 1, "│");
            screenLabels[19] = Helper.CreateLabel(25, 10, 37, 1, "├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┴─┐");

            // BURN DATA INPUTS
            screenInputs[0]           = Helper.CreateInput(41, 4, 5, 1);   // HRS
            screenInputs[0].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[0].Text      = "000";
            screenInputs[1]           = Helper.CreateInput(47, 4, 5, 1);   // MIN
            screenInputs[1].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[1].Text      = "00";
            screenInputs[2]           = Helper.CreateInput(53, 4, 5, 1);   // SEC
            screenInputs[2].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[2].Text      = "00.0";

            screenInputs[3]           = Helper.CreateInput(51, 7, 7, 1);   // Z
            screenInputs[3].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[3].Text      = "0.0";
            screenInputs[4]           = Helper.CreateInput(51, 8, 7, 1);   // X
            screenInputs[4].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[4].Text      = "0.0";
            screenInputs[5]           = Helper.CreateInput(51, 9, 7, 1);   // Y
            screenInputs[5].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[5].Text      = "0.0";

            // DEBUG BURN VALUES
            screenLabels[20] = Helper.CreateLabel(25, 11, 35, 1, "");
            screenLabels[21] = Helper.CreateLabel(25, 12, 35, 1, "");
            screenLabels[22] = Helper.CreateLabel(25, 13, 35, 1, "");

            // ZOOM LABEL
            screenLabels[23] = Helper.CreateLabel(62, 1, 12, 1, "ZOOM: ");

            // ZOOM BUTTONS
            screenButtons[0]        = Helper.CreateButton(74, 1, 5, 1, "-5");
            screenButtons[0].Font   = form.buttonFont;
            screenButtons[0].Click += (sender, e) => changeZoom(sender, e, -5f);
            screenButtons[1]        = Helper.CreateButton(80, 1, 5, 1, "-1");
            screenButtons[1].Font   = form.buttonFont;
            screenButtons[1].Click += (sender, e) => changeZoom(sender, e, -1f);
            screenButtons[2]        = Helper.CreateButton(86, 1, 5, 1, "-.1");
            screenButtons[2].Font   = form.buttonFont;
            screenButtons[2].Click += (sender, e) => changeZoom(sender, e, -0.1f);
            screenButtons[3]        = Helper.CreateButton(92, 1, 5, 1, "+.1");
            screenButtons[3].Font   = form.buttonFont;
            screenButtons[3].Click += (sender, e) => changeZoom(sender, e, 0.1f);
            screenButtons[4]        = Helper.CreateButton(98, 1, 5, 1, "+1");
            screenButtons[4].Font   = form.buttonFont;
            screenButtons[4].Click += (sender, e) => changeZoom(sender, e, 1f);
            screenButtons[5]        = Helper.CreateButton(104, 1, 5, 1, "+5");
            screenButtons[5].Font   = form.buttonFont;
            screenButtons[5].Click += (sender, e) => changeZoom(sender, e, 5f);


            // ORBIT(S) INFO
            screenLabels[30] = Helper.CreateLabel(1, 4, 24, 1, "NEXT PERIAPSE: ");
            screenLabels[31] = Helper.CreateLabel(1, 5, 24, 1, "NEXT APOAPSE: ");

            screenLabels[32] = Helper.CreateLabel(1, 7, 24, 18, "");

            // TARGET
            screenLabels[40] = Helper.CreateLabel(25, 14, 37, 1, "├───────────── TARGET ──────────────┤");
            screenLabels[41] = Helper.CreateLabel(25, 15, 17, 1, "│ SELECT TARGET: ");
            screenLabels[42] = Helper.CreateLabel(61, 15, 1, 1, "│");
            screenLabels[43] = Helper.CreateLabel(25, 16, 37, 1, "│        ── BODY DISTANCE ──        │");
            screenLabels[44] = Helper.CreateLabel(25, 17, 37, 1, "│      VESSEL     MUN      DELTA    │");
            screenLabels[45] = Helper.CreateLabel(25, 18, 37, 1, "│ X:  20000000  20000000  20000000  │");
            screenLabels[46] = Helper.CreateLabel(25, 19, 37, 1, "│ Y:  20000000  20000000  20000000  │");
            screenLabels[47] = Helper.CreateLabel(25, 20, 37, 1, "│ Z:  20000000  20000000  20000000  │");
            screenLabels[48] = Helper.CreateLabel(25, 21, 37, 1, "│                                   │");
            screenLabels[49] = Helper.CreateLabel(25, 22, 37, 1, "│CURRENT TOTAL DISTANCE:  20000000  │");
            screenLabels[50] = Helper.CreateLabel(25, 23, 37, 1, "│                                   │");
            screenLabels[51] = Helper.CreateLabel(25, 24, 37, 1, "│      ── CLOSEST APPROACH ──       │");
            screenLabels[52] = Helper.CreateLabel(25, 25, 37, 1, "┘ MET:  000:00:00  DIST:  20000000  │");
            screenLabels[53] = Helper.CreateLabel(0, 25, 25, 1, "─────────────────────────");

            // Target dropdown
            screenDropdowns[0] = Helper.CreateDropdown(41, 15, 20, 1);
            screenDropdowns[0].DisplayMember = "Name";

            screenButtons[8]             = Helper.CreateButton(26, 3, 10, 1, "ITERATE 5");
            screenButtons[8].Font        = form.buttonFont;
            screenButtons[8].buttonStyle = MocrButton.style.THIN_BORDER_LIGHT;
            screenButtons[8].Click      += (sender, e) => iterateDistances(sender, e, 5);
            screenButtons[9]             = Helper.CreateButton(26, 4, 10, 1, "ITERATE 1");
            screenButtons[9].Font        = form.buttonFont;
            screenButtons[9].buttonStyle = MocrButton.style.THIN_BORDER_LIGHT;
            screenButtons[9].Click      += (sender, e) => iterateDistances(sender, e, 1);

            screenInputs[6]           = Helper.CreateInput(36, 5, 10, 1);   // Iteration Count
            screenInputs[6].TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
            screenInputs[6].Text      = "30000";

            IList <CelestialBody> sats = body.Satellites;

            foreach (CelestialBody sat in sats)
            {
                screenDropdowns[0].Items.Add(sat);
            }

            // OrbitGraph
            screenOrbit = Helper.CreateOrbit(62, 3, 58, 23);
            IList <CelestialBody> bodySatellites = body.Satellites;

            //screenOrbit.setBody(body, bodyRadius, bodyName, bodySatellites);

            // Closest approach chart
            screenCharts[0] = Helper.CreatePlot(0, 26, 62, 14);
            screenCharts[0].setSeriesColor(0, Color.FromArgb(255, 0, 0, 255));
            screenCharts[0].setSeriesColor(1, Color.FromArgb(255, 0, 255, 0));

            // Plane chart (Z-diff from target)
            screenCharts[1] = Helper.CreatePlot(62, 26, 58, 14, 0, -1, -200000, 200000);
            screenCharts[1].setSeriesColor(0, Color.FromArgb(255, 0, 0, 255));
            screenCharts[1].setSeriesColor(1, Color.FromArgb(255, 0, 255, 0));
        }