Ejemplo n.º 1
0
        private void timer_Tick(object sender, EventArgs e)
        {
            ATime atime = orbitPanel.ATime;

            atime.ChangeDate(TimeStep, SimulationDirection);
            orbitPanel.ATime = atime;
            orbitPanel.Invalidate();
        }
Ejemplo n.º 2
0
            /// <summary>
            /// Calls ATime.SleepDoEvents.
            /// </summary>
            internal static void Sleep(int ms)
            {
                if (ms > 0)
                {
                    ATime.SleepDoEvents(ms);
                }

                //see comments in AMouse._Sleep.
            }
Ejemplo n.º 3
0
        private void btnForStep_Click(object sender, EventArgs e)
        {
            Timer.Stop();
            ATime atime = orbitPanel.ATime;

            atime.ChangeDate(TimeStep, ATime.TIME_INCREMENT);
            orbitPanel.ATime = atime;
            orbitPanel.Invalidate();
        }
Ejemplo n.º 4
0
        public FormDate(ATime atime)
        {
            InitializeComponent();

            numDay.Minimum  = 0;
            numDay.Maximum  = 32;
            numYear.Minimum = ATime.MinATime.Year;
            numYear.Maximum = ATime.MaxATime.Year;

            ATime = atime;
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Get Planet Position in Ecliptic Coordinates (Equinox Date)
 /// </summary>
 /// <param name="planetNo"></param>
 /// <param name="atime"></param>
 /// <returns></returns>
 public static Xyz GetPos(int planetNo, ATime atime)
 {
     if (R_JD_START < atime.JD && atime.JD < R_JD_END)
     {
         return(PlanetExp.GetPos(planetNo, atime));
     }
     else
     {
         PlanetElm planetElm = new PlanetElm(planetNo, atime);
         return(planetElm.GetPos());
     }
 }
Ejemplo n.º 6
0
        public static List <Comet> ImportAsteroids()
        {
            string filename = "asteroids.dat";

            List <Comet> list = new List <Comet>();
            Comet        c;

            if (File.Exists(filename))
            {
                string[] lines = File.ReadAllLines(filename);

                foreach (string line in lines)
                {
                    try
                    {
                        string name    = line.Substring(166, line.Length - 166).Trim();
                        string sortKey = GetAsteroidSortKey(name);

                        string ep    = line.Substring(20, 5);
                        ATime  epoch = GetATime(ep);

                        double M = Convert.ToDouble(line.Substring(26, 10).Trim()) * Math.PI / 180.0;
                        double w = Convert.ToDouble(line.Substring(36, 11).Trim()) * Math.PI / 180.0;
                        double N = Convert.ToDouble(line.Substring(47, 11).Trim()) * Math.PI / 180.0;
                        double i = Convert.ToDouble(line.Substring(58, 11).Trim()) * Math.PI / 180.0;
                        double e = Convert.ToDouble(line.Substring(69, 11).Trim());
                        double a = Convert.ToDouble(line.Substring(93, 12).Trim());
                        double n = Astro.GAUSS / (a * Math.Sqrt(a));
                        double q = a * (1.0 - e);

                        ATime T = M < Math.PI
                                                        ? new ATime(epoch.JD - M / n, 0.0)
                                                        : new ATime(epoch.JD + (Math.PI * 2.0 - M) / n, 0.0);

                        double eq = 2000.0;

                        c = new Comet(name, T.JD, e, q, w, N, i, eq, sortKey);
                    }
                    catch
                    {
                        continue;
                    }

                    list.Add(c);
                }
            }

            return(list.OrderBy(x => x.SortKey).ToList());
        }
Ejemplo n.º 7
0
    //void TestMenu2()
    //{
    //	var m = new AMenu();
    //	m["One"] = o => AOutput.Write(o);
    //	m["Two"] = o => AOutput.Write(o);
    //	m.LazySubmenu("Submenu 1").Fill = _ => {
    //		AOutput.Write("adding items of " + m.CurrentAddMenu.OwnerItem);
    //		m["Three"] = o => AOutput.Write(o);
    //		m["Four"] = o => AOutput.Write(o);
    //		m.LazySubmenu("Submenu 2", _ => {
    //			AOutput.Write("adding items of " + m.CurrentAddMenu.OwnerItem);
    //			m["Five"] = o => AOutput.Write(o);
    //			m["Six"] = o => AOutput.Write(o);
    //		});
    //		m["Seven"] = o => AOutput.Write(o);
    //	};
    //	m["Eight"] = o => AOutput.Write(o);
    //	m.Show();

    //}

    //void TestMenu2()
    //{
    //	var m = new AMenu();
    //	m["One"] = o => AOutput.Write(o);
    //	m["Two"] = o => AOutput.Write(o);
    //	m.LazySubmenu("Submenu 1");
    //	m.LazyFill = _ => {
    //		AOutput.Write("adding items of " + m.CurrentAddMenu.OwnerItem);
    //		m["Three"] = o => AOutput.Write(o);
    //		m["Four"] = o => AOutput.Write(o);
    //		m.LazySubmenu("Submenu 2", _ => {
    //			AOutput.Write("adding items of " + m.CurrentAddMenu.OwnerItem);
    //			m["Five"] = o => AOutput.Write(o);
    //			m["Six"] = o => AOutput.Write(o);
    //		});
    //		m["Seven"] = o => AOutput.Write(o);
    //	};
    //	m["Eight"] = o => AOutput.Write(o);
    //	m.Show();

    //}

#if false
    void TestToolbar()
    {
        for (int i = 0; i < 1; i++)
        {
            var t = new AToolbar("123");
            //t.NoText = true;
            //t.Border= TBBorder.Sizable3;t.Control.Text = "Toolbar";
            //t.Border = TBBorder.SizableWithCaptionX;

            //t["Find", @"Q:\app\find.ico"] = o => AOutput.Write(o);
            //t["Copy", @"Q:\app\copy.ico"] = o => AOutput.Write(o);
            //t.Separator("Tpi group");
            //t["Delete", @"Q:\app\delete.ico"] = o => AOutput.Write(o);
            //t["No image"] = o => AOutput.Write(o);
            //t["TT", tooltip: "WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW WWWWWWWWWWWW "] = o => AOutput.Write(o);
            ////t.LastButton.DisplayStyle = ToolStripItemDisplayStyle.Image;
            ////t.LastButton.AutoToolTip = false;
            ////t.LastButton.ToolTipText = "ggg";
            //t.Separator();
            //t["Run", @"Q:\app\run.ico"] = o => AOutput.Write(o);
            //t.Separator("");
            //t["Paste text", @"Q:\app\paste.ico"] = o => AOutput.Write(o);
            //t.LastButton.ToolTipText = "Toooooltip";

            //t.ExtractIconPathFromCode = true;
            //t["Auto icon"] = o => AOutput.Write("notepad.exe");
            //t["Failed icon", @"Q:\app\-.ico"] = o => AOutput.Write(o);
            ////t.LastButton.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
            ////t.Separator("");
            ////t.Add(new ToolStripTextBox { ToolTipText= "ToolStripTextBox", AutoSize=false, Width=50 });
            ////t.Add(new ToolStripComboBox { ToolTipText= "ToolStripComboBox", AutoSize=false, Width=50 });
            ////t.Add(new ToolStripTextBox());
            ////t.Add(new ToolStripTextBox());
            ////t.Add(new ToolStripTextBox());
            ////t.Add(new ToolStripButton("aaa"));
            ////t.Add(new ToolStripButton("bbb"));
            ////t["Multi\r\nline"] = o => AOutput.Write(o);

            //t["None"] = o => _B(TBBorder.None);
            //t["SWC"] = o => _B(TBBorder.SizableWithCaption);
            //t["Sizable1"] = o => _B(TBBorder.Sizable1);
            //t["Sizable2"] = o => _B(TBBorder.Sizable2);
            //t["Sizable3"] = o => _B(TBBorder.Sizable3);
            //t["Sizable3D"] = o => _B(TBBorder.Sizable3D);
            //t["Sizable"] = o => _B(TBBorder.Sizable);
            //t["FixedWithCaption"] = o => _B(TBBorder.FixedWithCaption);
            //t["SizableWithCaption"] = o => _B(TBBorder.SizableWithCaption);
            //t["Close"] = o => t.Close();

#if false
            var dd = new ToolStripDropDownButton("DD");
            t.Add(dd, @"Q:\app\find.ico");
            dd.DropDownOpening += (unu, sed) => {
                var m = new AMenu(dd);
                m["one"] = o => AOutput.Write(o);
                using (m.Submenu("Sub")) {
                    m["si"] = o => AOutput.Write(o);
                }
            };
            var sb = new ToolStripSplitButton("SB");
            t.Add(sb, @"Q:\app\copy.ico", o => AOutput.Write(o));
#elif true
            //t.Control.Font = new Font("Courier New", 16);
            //t.Control.RightToLeft = RightToLeft.Yes;
            t.MenuButton("DD", m => {
                AOutput.Write("dd");
                //m.MultiShow = false;
                m["one"] = o => AOutput.Write(o);
                using (m.Submenu("Sub")) {
                    m["si"] = o => AOutput.Write(o);
                }
            }, @"Q:\app\find.ico", "MenuButton");
            t.SplitButton("SB", m => {
                m["one"] = o => AOutput.Write(o);
                //var sb = m.Control.OwnerItem as ToolStripSplitButton;
                //AOutput.Write(sb);
                //sb.DefaultItem = m.LastItem;
                using (m.Submenu("Sub")) {
                    m["si"] = o => AOutput.Write(o);
                }
            }, @"Q:\app\copy.ico", "SplitButton", o => AOutput.Write(o));
            t.Separator("");
            t[true, "DD2", @"Q:\app\delete.ico"] = m => {
                AOutput.Write("create menu");
                //m.MultiShow = false;
                m["one"] = o => AOutput.Write(o);
                using (m.Submenu("Sub")) {
                    m["si"] = o => AOutput.Write(o);
                }
            };
            //t.SplitButton("SB", o => {
            //	AOutput.Write(o);
            //}, m => {
            //	m["one"] = o => AOutput.Write(o);
            //	using(m.Submenu("Sub")) {
            //		m["si"] = o => AOutput.Write(o);
            //	}
            //}, @"Q:\app\copy.ico", "SplitButton");
            //Action<AMenu> menu1 = m => {
            //	m["one"] = o => AOutput.Write(o);
            //	using(m.Submenu("Sub")) {
            //		m["si"] = o => AOutput.Write(o);
            //	}
            //};
            //t.MenuButton("DD", menu1, @"Q:\app\find.ico", "MenuButton");
#elif false
            t.MenuButton("DD", @"Q:\app\find.ico");
            t.Menu = m => {
                m["one"] = o => AOutput.Write(o);
                using (m.Submenu("Sub")) {
                    m["si"] = o => AOutput.Write(o);
                }
            };
#else
            t.MenuButton("DD", @"Q:\app\find.ico").Menu = m => {
                AOutput.Write("dd");
                //m.MultiShow = false;
                m["one"] = o => AOutput.Write(o);
                using (m.Submenu("Sub")) {
                    m["two"] = o => AOutput.Write(o);
                }
            };
            t.SplitButton("SB", o => AOutput.Write(o), @"Q:\app\copy.ico").Menu = m => {
                AOutput.Write("dd");
                m["one"] = o => AOutput.Write(o);
                using (m.Submenu("Sub")) {
                    m["two"] = o => AOutput.Write(o);
                }
            };
#endif
            //t.Separator("");
            ////t["GC"] = o => GC.Collect();

            //var dd = new ToolStripSplitButton("SB2", null, (unu,sed)=>AOutput.Write("click"));
            //t.Add(dd, @"Q:\app\delete.ico");
            //dd.DropDownOpening += (unu, sed) => {
            //	var m = new AMenu();
            //	dd.DropDown = m.Control;
            //	m["one"] = o => AOutput.Write(o);
            //};
            //dd.ButtonClick += (unu, sed) => AOutput.Write("button click");
            //dd.DoubleClickEnabled = true;
            //dd.ButtonDoubleClick += (unu, sed) => AOutput.Write("button double click");

            //ATimer.After(3000, _ => {
            //	var c = t.Control.Items[0];
            //	c.Select();
            //});

            //void _B(TBBorder b){
            //	t.Border = b;
            //	//AOutput.Write(AWnd.More.BorderWidth((AWnd)t.Control));
            //}

            //t.Bounds = new Rectangle(i * 300 + 700, 200, 200, 200);
            t.Show();
            //t.Window.ActivateLL();
            ATime.SleepDoEvents(200);

            //for(int j = 1; j <= (int)TBBorder.SizableWithCaptionX; j++) {
            //	ATime.SleepDoEvents(1000);
            //	t.Border = (TBBorder)j;
            //}

            //ATime.SleepDoEvents(1000);
            //t.Border = TBBorder.FixedWithCaption;
            //ATime.SleepDoEvents(3000);
            //t.Border = TBBorder.SizableWithCaption;

            //var m = new AMenu();
            //using(m.Submenu("Sub")) {

            //}
            //m.Show()
        }

        //var c = new System.Windows.Forms.VisualStyles.VisualStyleRenderer(VisualStyleElement.Window.FrameLeft.Inactive).GetColor(ColorProperty.BorderColor);
        //AOutput.Write((uint)c.ToArgb());

        //ATimer.After(500, _ => {
        //	var w = (AWnd)t.Control;
        //	//w.SetStyle(WS.DLGFRAME, SetAddRemove.Add);
        //});

        ADialog.Options.TopmostIfNoOwnerWindow = true;
        ADialog.Show();

        //ATimer.After(10000, _ => Application.Exit());
        //Application.Run();
    }
Ejemplo n.º 8
0
        public static List <Comet> ImportComets()
        {
            string filename = "comets.dat";

            List <Comet> list = new List <Comet>();
            Comet        c;

            if (File.Exists(filename))
            {
                string[] lines = File.ReadAllLines(filename);

                foreach (string line in lines)
                {
                    try
                    {
                        string name    = line.Substring(102, 55).Trim();
                        string sortKey = GetCometSortKey(name);

                        int   y = Convert.ToInt32(line.Substring(14, 4).Trim());
                        int   m = Convert.ToInt32(line.Substring(19, 2).Trim());
                        int   d = Convert.ToInt32(line.Substring(22, 2).Trim());
                        int   h = Convert.ToInt32(line.Substring(25, 4).Trim().PadRight(4, '0'));
                        ATime T = new ATime(y, m, d + h / 10000.0, 0.0);

                        double e  = Convert.ToDouble(line.Substring(41, 8).Trim());
                        double q  = Convert.ToDouble(line.Substring(30, 9).Trim());
                        double w  = Convert.ToDouble(line.Substring(51, 8).Trim()) * Math.PI / 180.0;
                        double N  = Convert.ToDouble(line.Substring(61, 8).Trim()) * Math.PI / 180.0;
                        double i  = Convert.ToDouble(line.Substring(71, 8).Trim()) * Math.PI / 180.0;
                        double eq = 2000.0;

                        c = new Comet(name, T.JD, e, q, w, N, i, eq, sortKey);
                    }
                    catch
                    {
                        continue;
                    }

                    list.Add(c);
                }
            }

            if (!list.Any())
            {
                // add example comet
                string name    = "1P/Halley";
                ATime  T       = new ATime(1986, 1, 30.0459, 0.0);
                double e       = 0.967969;
                double q       = 0.571943;
                double w       = 111.6212 * Math.PI / 180.0;
                double N       = 58.7611 * Math.PI / 180.0;
                double i       = 162.2555 * Math.PI / 180.0;
                double eq      = 2000.0;
                string sortkey = "1";

                c = new Comet(name, T.JD, e, q, w, N, i, eq, sortkey);
                list.Add(c);
            }

            return(list.OrderBy(x => x.SortKey).ToList());
        }
Ejemplo n.º 9
0
 private void FormDate_FormClosed(object sender, FormClosedEventArgs e)
 {
     ATime = ATime.LimitATime(new ATime((int)numYear.Value, 13 - (int)domMonth.SelectedIndex, (double)numDay.Value, 0.0));
 }