private static void AddMoons(string file)
        {
            string[] data = file.Split("\r\n");

            bool first = true;

            foreach (string line in data)
            {
                if (first)
                {
                    first = false;
                    continue;
                }
                string[] parts  = line.Split("\t");
                string   planet = parts[0];
                LayerMap frame  = new LayerMap(parts[2], ReferenceFrames.Custom);
                frame.Frame.SystemGenerated          = true;
                frame.Frame.Epoch                    = double.Parse(parts[1]);
                frame.Frame.SemiMajorAxis            = double.Parse(parts[3]) * 1000;
                frame.Frame.ReferenceFrameType       = ReferenceFrameTypes.Orbital;
                frame.Frame.Inclination              = double.Parse(parts[7]);
                frame.Frame.LongitudeOfAscendingNode = double.Parse(parts[8]);
                frame.Frame.Eccentricity             = double.Parse(parts[4]);
                frame.Frame.MeanAnomolyAtEpoch       = double.Parse(parts[6]);
                frame.Frame.MeanDailyMotion          = double.Parse(parts[9]);
                frame.Frame.ArgumentOfPeriapsis      = double.Parse(parts[5]);
                frame.Frame.Scale                    = 1;
                frame.Frame.SemiMajorAxisUnits       = AltUnits.Meters;
                frame.Frame.MeanRadius               = double.Parse(parts[16]) * 1000;
                frame.Frame.RotationalPeriod         = double.Parse(parts[17]);
                frame.Frame.ShowAsPoint              = false;
                frame.Frame.ShowOrbitPath            = true;
                frame.Frame.RepresentativeColor      = Color.FromArgb(255, 144, 238, 144);
                frame.Frame.Oblateness               = 0;

                LayerMaps["Sun"].ChildMaps[planet] = frame;

                AllMaps.Clear();

                AddAllMaps(LayerMaps, null);
            }
        }
Esempio n. 2
0
        static public void InitLayers()
        {
            ClearLayers();
            //LayerMap iss = null;
            //if (!TourLayers)
            //{
            //    string[] isstle = new string[0];
            //    try
            //    {
            //        //This is downloaded now on startup
            //        string url = "http://www.worldwidetelescope.org/wwtweb/isstle.aspx";
            //        string filename = string.Format(@"{0}data\isstle.txt", Properties.Settings.Default.CahceDirectory);
            //        DataSetManager.DownloadFile(url, filename, false, false);

            //        isstle = File.ReadAllLines(filename);
            //    }
            //    catch
            //    {
            //    }

            //    iss = new LayerMap("ISS", ReferenceFrames.Custom);
            //    iss.Frame.Epoch = SpaceTimeController.TwoLineDateToJulian("10184.51609218");
            //    iss.Frame.SemiMajorAxis = 6728829.41;
            //    iss.Frame.ReferenceFrameType = ReferenceFrameTypes.Orbital;
            //    iss.Frame.Inclination = 51.6442;
            //    iss.Frame.LongitudeOfAscendingNode = 147.0262;
            //    iss.Frame.Eccentricity = .0009909;
            //    iss.Frame.MeanAnomolyAtEpoch = 325.5563;
            //    iss.Frame.MeanDailyMotion = 360 * 15.72172655;
            //    iss.Frame.ArgumentOfPeriapsis = 286.4623;
            //    iss.Frame.Scale = 1;
            //    iss.Frame.SemiMajorAxisUnits = AltUnits.Meters;
            //    iss.Frame.MeanRadius = 130;
            //    iss.Frame.Oblateness = 0;
            //    iss.Frame.ShowOrbitPath = true;
            //    if (isstle.Length > 1)
            //    {
            //        iss.Frame.FromTLE(isstle[0], isstle[1], 398600441800000);
            //    }
            //}

            LayerMaps["Sun"] = new LayerMap("Sun", ReferenceFrames.Sun);
            LayerMaps["Sun"].ChildMaps["Mercury"] = new LayerMap("Mercury", ReferenceFrames.Mercury);
            LayerMaps["Sun"].ChildMaps["Venus"]   = new LayerMap("Venus", ReferenceFrames.Venus);
            LayerMaps["Sun"].ChildMaps["Earth"]   = new LayerMap("Earth", ReferenceFrames.Earth);
            LayerMaps["Sun"].ChildMaps["Earth"].ChildMaps["Moon"] = new LayerMap("Moon", ReferenceFrames.Moon);

            //if (!TourLayers)
            //{
            //    LayerMaps["Sun"].ChildMaps["Earth"].ChildMaps.Add("ISS", iss);
            //}

            LayerMaps["Sun"].ChildMaps["Mars"]    = new LayerMap("Mars", ReferenceFrames.Mars);
            LayerMaps["Sun"].ChildMaps["Jupiter"] = new LayerMap("Jupiter", ReferenceFrames.Jupiter);
            LayerMaps["Sun"].ChildMaps["Jupiter"].ChildMaps["Io"]       = new LayerMap("Io", ReferenceFrames.Io);
            LayerMaps["Sun"].ChildMaps["Jupiter"].ChildMaps["Europa"]   = new LayerMap("Europa", ReferenceFrames.Europa);
            LayerMaps["Sun"].ChildMaps["Jupiter"].ChildMaps["Ganymede"] = new LayerMap("Ganymede", ReferenceFrames.Ganymede);
            LayerMaps["Sun"].ChildMaps["Jupiter"].ChildMaps["Callisto"] = new LayerMap("Callisto", ReferenceFrames.Callisto);
            LayerMaps["Sun"].ChildMaps["Saturn"]  = new LayerMap("Saturn", ReferenceFrames.Saturn);
            LayerMaps["Sun"].ChildMaps["Uranus"]  = new LayerMap("Uranus", ReferenceFrames.Uranus);
            LayerMaps["Sun"].ChildMaps["Neptune"] = new LayerMap("Neptune", ReferenceFrames.Neptune);
            LayerMaps["Sun"].ChildMaps["Pluto"]   = new LayerMap("Pluto", ReferenceFrames.Pluto);

            // AddMoons();

            LayerMaps["Sky"]      = new LayerMap("Sky", ReferenceFrames.Sky);
            LayerMaps["Sun"].Open = true;
            AllMaps.Clear();

            AddAllMaps(LayerMaps, null);

            version++;
            LoadTree();
        }