Example #1
0
 public void ConfigureEphemeris(EphemerisConfig <Comet> e)
 {
     e["Constellation"]       = (c, p) => Constellations.FindConstellation(c.Get(EquatorialT, p), c.JulianDay);
     e["Magnitude"]           = (c, p) => c.Get(Magnitude, p);
     e["AngularDiameter"]     = (c, p) => c.Get(Appearance, p).Coma / 3600f;
     e["DistanceFromEarth"]   = (c, p) => c.Get(DistanceFromEarth, p);
     e["DistanceFromSun"]     = (c, p) => c.Get(DistanceFromSun, p);
     e["HorizontalParallax"]  = (c, p) => c.Get(Parallax, p);
     e["Horizontal.Altitude"] = (c, p) => c.Get(Horizontal, p).Altitude;
     e["Horizontal.Azimuth"]  = (c, p) => c.Get(Horizontal, p).Azimuth;
     e["Equatorial.Alpha"]    = (c, p) => c.Get(EquatorialT, p).Alpha;
     e["Equatorial.Delta"]    = (c, p) => c.Get(EquatorialT, p).Delta;
     e["Equatorial0.Alpha"]   = (c, p) => c.Get(EquatorialJ2000, p).Alpha;
     e["Equatorial0.Delta"]   = (c, p) => c.Get(EquatorialJ2000, p).Delta;
     e["Equatorial0T.Alpha", Formatters.RA]  = (c, p) => c.Get(EquatorialJ2000T, p).Alpha;
     e["Equatorial0T.Delta", Formatters.Dec] = (c, p) => c.Get(EquatorialJ2000T, p).Delta;
     e["EquatorialG.Alpha", Formatters.RA]   = (c, p) => c.Get(EquatorialG, p).Alpha;
     e["EquatorialG.Delta", Formatters.Dec]  = (c, p) => c.Get(EquatorialG, p).Delta;
     e["Ecliptical.Lambda"] = (c, p) => c.Get(Ecliptical, p).Lambda;
     e["Ecliptical.Beta"]   = (c, p) => c.Get(Ecliptical, p).Beta;
     e["RTS.Rise"]          = (c, p) => c.GetDateFromTime(c.Get(RiseTransitSet, p).Rise);
     e["RTS.Transit"]       = (c, p) => c.GetDateFromTime(c.Get(RiseTransitSet, p).Transit);
     e["RTS.Set"]           = (c, p) => c.GetDateFromTime(c.Get(RiseTransitSet, p).Set);
     e["RTS.Duration"]      = (c, p) => c.Get(RiseTransitSet, p).Duration;
 }
Example #2
0
 public void ConfigureEphemeris(EphemerisConfig <Pluto> e)
 {
     e["Constellation"]       = (c, nm) => Constellations.FindConstellation(c.Get(Pluto_Equatorial), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, nm) => c.Get(Pluto_Equatorial).Alpha;
     e["Equatorial.Delta"]    = (c, nm) => c.Get(Pluto_Equatorial).Delta;
     e["Equatorial0.Alpha"]   = (c, nm) => c.Get(Pluto_Equatorial0).Alpha;
     e["Equatorial0.Delta"]   = (c, nm) => c.Get(Pluto_Equatorial0).Delta;
     e["Ecliptical.Lambda"]   = (c, p) => c.Get(Pluto_Ecliptical).Lambda;
     e["Ecliptical.Beta"]     = (c, p) => c.Get(Pluto_Ecliptical).Beta;
     e["Horizontal.Altitude"] = (c, nm) => c.Get(Pluto_Horizontal).Altitude;
     e["Horizontal.Azimuth"]  = (c, nm) => c.Get(Pluto_Horizontal).Azimuth;
     e["Magnitude"]           = (c, nm) => c.Get(Pluto_Magnitude);
     e["DistanceFromEarth"]   = (c, p) => c.Get(Pluto_DistanceFromEarth);
     e["DistanceFromSun"]     = (c, p) => c.Get(Pluto_DistanceFromSun);
     e["HorizontalParallax"]  = (c, p) => c.Get(Pluto_Parallax);
     e["AngularDiameter"]     = (c, p) => c.Get(Pluto_Semidiameter) * 2 / 3600.0;
     e["Appearance.CM"]       = (c, p) => c.Get(Pluto_Appearance).CM;
     e["Appearance.D"]        = (c, p) => c.Get(Pluto_Appearance).D;
     e["Appearance.P"]        = (c, p) => c.Get(Pluto_Appearance).P;
     e["RTS.Rise"]            = (c, p) => c.GetDateFromTime(c.Get(Pluto_RiseTransitSet).Rise);
     e["RTS.Transit"]         = (c, p) => c.GetDateFromTime(c.Get(Pluto_RiseTransitSet).Transit);
     e["RTS.Set"]             = (c, p) => c.GetDateFromTime(c.Get(Pluto_RiseTransitSet).Set);
     e["RTS.Duration"]        = (c, p) => c.Get(Pluto_RiseTransitSet).Duration;
     e["Visibility.Begin"]    = (c, p) => c.GetDateFromTime(c.Get(Pluto_Visibility).Begin);
     e["Visibility.End"]      = (c, p) => c.GetDateFromTime(c.Get(Pluto_Visibility).End);
     e["Visibility.Duration"] = (c, p) => c.Get(Pluto_Visibility).Duration;
     e["Visibility.Period"]   = (c, p) => c.Get(Pluto_Visibility).Period;
 }
Example #3
0
        public void GetInfo(CelestialObjectInfo <Tycho2Star> info)
        {
            Tycho2Star s             = info.Body;
            SkyContext c             = info.Context;
            string     constellation = Constellations.FindConstellation(s.Equatorial, c.JulianDay);

            info
            .SetTitle(s.ToString())
            .SetSubtitle(Text.Get("Tycho2Star.Subtitle"))

            .AddRow("Constellation", constellation)

            .AddHeader(Text.Get("Tycho2Star.Equatorial"))
            .AddRow("Equatorial.Alpha", c.Get(Equatorial, s).Alpha)
            .AddRow("Equatorial.Delta", c.Get(Equatorial, s).Delta)

            .AddHeader(Text.Get("Tycho2Star.Equatorial0"))
            .AddRow("Equatorial0.Alpha", s.Equatorial0.Alpha)
            .AddRow("Equatorial0.Delta", s.Equatorial0.Delta)

            .AddHeader(Text.Get("Tycho2Star.Horizontal"))
            .AddRow("Horizontal.Azimuth")
            .AddRow("Horizontal.Altitude")

            .AddHeader(Text.Get("Tycho2Star.RTS"))
            .AddRow("RTS.Rise")
            .AddRow("RTS.Transit")
            .AddRow("RTS.Set")
            .AddRow("RTS.Duration")

            .AddHeader(Text.Get("Tycho2Star.Properties"))
            .AddRow("Magnitude", s.Magnitude);
        }
Example #4
0
 public ConstellationsEnumerator(Constellations collection)
 {
     collectionRef = collection;
     currentIndex  = -1;
     currentObject = null;
     currentSize   = collectionRef.Count;
 }
Example #5
0
 public void ConfigureEphemeris(EphemerisConfig <Sun> e)
 {
     e["Constellation"]       = (c, s) => Constellations.FindConstellation(c.Get(Equatorial), c.JulianDay);
     e["Equatorial0.Alpha"]   = (c, s) => c.Get(Equatorial0).Alpha;
     e["Equatorial0.Delta"]   = (c, s) => c.Get(Equatorial0).Delta;
     e["Equatorial.Alpha"]    = (c, s) => c.Get(Equatorial).Alpha;
     e["Equatorial.Delta"]    = (c, s) => c.Get(Equatorial).Delta;
     e["Ecliptical.Lambda"]   = (c, s) => c.Get(Ecliptical).Lambda;
     e["Ecliptical.Beta"]     = (c, s) => c.Get(Ecliptical).Beta;
     e["Horizontal.Altitude"] = (c, s) => c.Get(Horizontal).Altitude;
     e["Horizontal.Azimuth"]  = (c, s) => c.Get(Horizontal).Azimuth;
     e["RTS.Rise"]            = (c, s) => c.GetDateFromTime(c.Get(RiseTransitSet).Rise);
     e["RTS.Transit"]         = (c, s) => c.GetDateFromTime(c.Get(RiseTransitSet).Transit);
     e["RTS.Set"]             = (c, s) => c.GetDateFromTime(c.Get(RiseTransitSet).Set);
     e["RTS.Duration"]        = (c, s) => c.Get(RiseTransitSet).Duration;
     e["Twilight.Astronomical.Dawn", Formatters.Time] = (c, s) => c.GetDateFromTime(c.Get(Twilight, TWILIGHT_ASTRONOMICAL).Rise);
     e["Twilight.Astronomical.Dust", Formatters.Time] = (c, s) => c.GetDateFromTime(c.Get(Twilight, TWILIGHT_ASTRONOMICAL).Set);
     e["Twilight.Nautical.Dawn", Formatters.Time]     = (c, s) => c.GetDateFromTime(c.Get(Twilight, TWILIGHT_NAUTICAL).Rise);
     e["Twilight.Nautical.Dust", Formatters.Time]     = (c, s) => c.GetDateFromTime(c.Get(Twilight, TWILIGHT_NAUTICAL).Set);
     e["Twilight.Civil.Dawn", Formatters.Time]        = (c, s) => c.GetDateFromTime(c.Get(Twilight, TWILIGHT_CIVIL).Rise);
     e["Twilight.Civil.Dust", Formatters.Time]        = (c, s) => c.GetDateFromTime(c.Get(Twilight, TWILIGHT_CIVIL).Set);
     e["Distance"]           = (c, s) => c.Get(Ecliptical).Distance;
     e["HorizontalParallax"] = (c, x) => c.Get(Parallax);
     e["AngularDiameter"]    = (c, x) => c.Get(Semidiameter) * 2 / 3600.0;
     e["CRN"] = (c, s) => c.Get(CarringtonNumber);
 }
Example #6
0
        public void GetInfo(CelestialObjectInfo <Tycho2Star> info)
        {
            Tycho2Star s             = info.Body;
            SkyContext c             = info.Context;
            string     constellation = Constellations.FindConstellation(s.Equatorial, c.JulianDay);

            info
            .SetTitle(s.ToString())
            .SetSubtitle("Star")

            .AddRow("Constellation", constellation)

            .AddHeader("Equatorial coordinates (current epoch)")
            .AddRow("Equatorial.Alpha", c.Get(Equatorial, s).Alpha)
            .AddRow("Equatorial.Delta", c.Get(Equatorial, s).Delta)

            .AddHeader("Equatorial coordinates (J2000.0 epoch)")
            .AddRow("Equatorial0.Alpha", s.Equatorial0.Alpha)
            .AddRow("Equatorial0.Delta", s.Equatorial0.Delta)

            .AddHeader("Horizontal coordinates")
            .AddRow("Horizontal.Azimuth")
            .AddRow("Horizontal.Altitude")

            .AddHeader("Visibility")
            .AddRow("RTS.Rise")
            .AddRow("RTS.Transit")
            .AddRow("RTS.Set")
            .AddRow("RTS.Duration")

            .AddHeader("Properties")
            .AddRow("Magnitude", s.Magnitude);
        }
Example #7
0
 public void ConfigureEphemeris(EphemerisConfig <Asteroid> e)
 {
     e["Constellation"]       = (c, a) => Constellations.FindConstellation(c.Get(EquatorialT, a), c.JulianDay);
     e["Horizontal.Altitude"] = (c, a) => c.Get(Horizontal, a).Altitude;
     e["Horizontal.Azimuth"]  = (c, a) => c.Get(Horizontal, a).Azimuth;
     e["Equatorial.Alpha"]    = (c, a) => c.Get(EquatorialT, a).Alpha;
     e["Equatorial.Delta"]    = (c, a) => c.Get(EquatorialT, a).Delta;
     e["Equatorial0.Alpha"]   = (c, a) => c.Get(EquatorialG, a).Alpha;
     e["Equatorial0.Delta"]   = (c, a) => c.Get(EquatorialG, a).Delta;
     e["Ecliptical.Lambda"]   = (c, a) => c.Get(Ecliptical, a).Lambda;
     e["Ecliptical.Beta"]     = (c, a) => c.Get(Ecliptical, a).Beta;
     e["RTS.Rise"]            = (c, a) => c.GetDateFromTime(c.Get(RiseTransitSet, a).Rise);
     e["RTS.Transit"]         = (c, a) => c.GetDateFromTime(c.Get(RiseTransitSet, a).Transit);
     e["RTS.Set"]             = (c, a) => c.GetDateFromTime(c.Get(RiseTransitSet, a).Set);
     e["RTS.Duration"]        = (c, a) => c.Get(RiseTransitSet, a).Duration;
     e["RTS.RiseAzimuth"]     = (c, a) => c.Get(RiseTransitSet, a).RiseAzimuth;
     e["RTS.TransitAltitude"] = (c, a) => c.Get(RiseTransitSet, a).TransitAltitude;
     e["RTS.SetAzimuth"]      = (c, a) => c.Get(RiseTransitSet, a).SetAzimuth;
     e["Visibility.Begin"]    = (c, a) => c.GetDateFromTime(c.Get(Visibility, a).Begin);
     e["Visibility.End"]      = (c, a) => c.GetDateFromTime(c.Get(Visibility, a).End);
     e["Visibility.Duration"] = (c, a) => c.Get(Visibility, a).Duration;
     e["Visibility.Period"]   = (c, a) => c.Get(Visibility, a).Period;
     e["DistanceFromEarth"]   = (c, a) => c.Get(DistanceFromEarth, a);
     e["DistanceFromSun"]     = (c, a) => c.Get(DistanceFromSun, a);
     e["Phase"]              = (c, a) => c.Get(Phase, a);
     e["PhaseAngle"]         = (c, a) => c.Get(PhaseAngle, a);
     e["Magnitude"]          = (c, a) => c.Get(Magnitude, a);
     e["HorizontalParallax"] = (c, a) => c.Get(Parallax, a);
     e["AngularDiameter", a => a.PhysicalDiameter > 0] = (c, a) => c.Get(Semidiameter, a) * 2 / 3600.0;
 }
Example #8
0
 public void ConfigureEphemeris(EphemerisConfig <Planet> e)
 {
     e["Constellation"]       = (c, p) => Constellations.FindConstellation(c.Get(Equatorial, p.Number), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, p) => c.Get(Equatorial, p.Number).Alpha;
     e["Equatorial.Delta"]    = (c, p) => c.Get(Equatorial, p.Number).Delta;
     e["Equatorial0.Alpha"]   = (c, p) => c.Get(Equatorial0, p.Number).Alpha;
     e["Equatorial0.Delta"]   = (c, p) => c.Get(Equatorial0, p.Number).Delta;
     e["Ecliptical.Lambda"]   = (c, p) => c.Get(Ecliptical, p.Number).Lambda;
     e["Ecliptical.Beta"]     = (c, p) => c.Get(Ecliptical, p.Number).Beta;
     e["Horizontal.Altitude"] = (c, p) => c.Get(Horizontal, p.Number).Altitude;
     e["Horizontal.Azimuth"]  = (c, p) => c.Get(Horizontal, p.Number).Azimuth;
     e["Magnitude"]           = (c, p) => c.Get(Magnitude, p.Number);
     e["Phase"]                   = (c, p) => c.Get(Phase, p.Number);
     e["PhaseAngle"]              = (c, p) => c.Get(PhaseAngle, p.Number);
     e["DistanceFromEarth"]       = (c, p) => c.Get(DistanceFromEarth, p.Number);
     e["DistanceFromSun"]         = (c, p) => c.Get(DistanceFromSun, p.Number);
     e["HorizontalParallax"]      = (c, p) => c.Get(Parallax, p.Number);
     e["AngularDiameter"]         = (c, p) => c.Get(Semidiameter, p.Number) * 2 / 3600.0;
     e["Appearance.CM"]           = (c, p) => c.Get(Appearance, p.Number).CM;
     e["Appearance.D"]            = (c, p) => c.Get(Appearance, p.Number).D;
     e["Appearance.P"]            = (c, p) => c.Get(Appearance, p.Number).P;
     e["SaturnRings.a", IsSaturn] = (c, p) => c.Get(GetSaturnRings, p.Number).a;
     e["SaturnRings.b", IsSaturn] = (c, p) => c.Get(GetSaturnRings, p.Number).b;
     e["GRSLongitude", IsJupiter] = (c, p) => c.Get(JupiterGreatRedSpotLongitude);
     e["RTS.Rise"]                = (c, p) => c.GetDateFromTime(c.Get(RiseTransitSet, p.Number).Rise);
     e["RTS.Transit"]             = (c, p) => c.GetDateFromTime(c.Get(RiseTransitSet, p.Number).Transit);
     e["RTS.Set"]                 = (c, p) => c.GetDateFromTime(c.Get(RiseTransitSet, p.Number).Set);
     e["RTS.Duration"]            = (c, p) => c.Get(RiseTransitSet, p.Number).Duration;
     e["Visibility.Begin"]        = (c, p) => c.GetDateFromTime(c.Get(Visibility, p.Number).Begin);
     e["Visibility.End"]          = (c, p) => c.GetDateFromTime(c.Get(Visibility, p.Number).End);
     e["Visibility.Duration"]     = (c, p) => c.Get(Visibility, p.Number).Duration;
     e["Visibility.Period"]       = (c, p) => c.Get(Visibility, p.Number).Period;
 }
Example #9
0
        private async void SaveButton_Clicked(object sender, EventArgs e)
        {
            if (TypeItem == CollectionPage.TypeItemsOfColl.Constellation)
            {
                Constellations.Add(newConstellation);
                newConstellation.Name = nameEntry.Text;
            }
            else if (TypeItem == CollectionPage.TypeItemsOfColl.Star)
            {
                Stars.Add(newStar);
                newStar.Name       = nameEntry.Text;
                newStar.Weight     = Convert.ToDouble(weightEntry.Text);
                newStar.Radius     = Convert.ToDouble(radiusEntry.Text);
                newStar.Luminosity = Convert.ToDouble(luminosityEntry.Text);
                newStar.type       = (Star.typeOfStar)typePicker.SelectedIndex;
                if (searchParentListView.SelectedItem != null)
                {
                    newStar.Constellation = (Constellation)searchParentListView.SelectedItem;
                }
            }
            else if (TypeItem == CollectionPage.TypeItemsOfColl.Planet)
            {
                Planets.Add(newPlanet);
                newPlanet.Name   = nameEntry.Text;
                newPlanet.Weight = Convert.ToDouble(weightEntry.Text);
                newPlanet.Radius = Convert.ToDouble(radiusEntry.Text);
                if (searchParentListView.SelectedItem != null)
                {
                    newPlanet.Star = (Star)searchParentListView.SelectedItem;
                }
            }

            await Navigation.PopAsync();
        }
Example #10
0
 public void ConfigureEphemeris(EphemerisConfig <Moon> e)
 {
     e["Constellation"]       = (c, m) => Constellations.FindConstellation(c.Get(Equatorial), c.JulianDay);
     e["RTS.Rise"]            = (c, m) => c.GetDateFromTime(c.Get(RiseTransitSet).Rise);
     e["RTS.RiseAzimuth"]     = (c, m) => c.Get(RiseTransitSet).RiseAzimuth;
     e["RTS.Transit"]         = (c, m) => c.GetDateFromTime(c.Get(RiseTransitSet).Transit);
     e["RTS.TransitAltitude"] = (c, m) => c.Get(RiseTransitSet).TransitAltitude;
     e["RTS.Set"]             = (c, m) => c.GetDateFromTime(c.Get(RiseTransitSet).Set);
     e["RTS.SetAzimuth"]      = (c, m) => c.Get(RiseTransitSet).SetAzimuth;
     e["RTS.Duration"]        = (c, m) => c.Get(RiseTransitSet).Duration;
     e["Equatorial.Alpha"]    = (c, m) => c.Get(Equatorial).Alpha;
     e["Equatorial.Delta"]    = (c, m) => c.Get(Equatorial).Delta;
     e["Equatorial0.Alpha"]   = (c, m) => c.Get(Equatorial0).Alpha;
     e["Equatorial0.Delta"]   = (c, m) => c.Get(Equatorial0).Delta;
     e["Horizontal.Altitude"] = (c, m) => c.Get(Horizontal).Altitude;
     e["Horizontal.Azimuth"]  = (c, m) => c.Get(Horizontal).Azimuth;
     e["Ecliptical.Lambda"]   = (c, m) => c.Get(Ecliptical0).Lambda;
     e["Ecliptical.Beta"]     = (c, m) => c.Get(Ecliptical0).Beta;
     e["Phase"]      = (c, m) => c.Get(Phase);
     e["PhaseAngle"] = (c, m) => c.Get(PhaseAngle);
     e["Age", new Formatters.UnsignedDoubleFormatter(2, " d")] = (c, m) => c.Get(Age);
     e["Lunation"]  = (c, m) => c.Get(Lunation);
     e["Magnitude"] = (c, m) => c.Get(Magnitude);
     e["Distance", new LunarDistanceFormatter()] = (c, m) => c.Get(Ecliptical0).Distance;
     e["HorizontalParallax"] = (c, m) => c.Get(Parallax);
     e["AngularDiameter"]    = (c, m) => c.Get(Semidiameter) * 2 / 3600.0;
     e["Libration.Latitude", new LibrationLatitudeFormatter()]   = (c, m) => c.Get(LibrationElements).b;
     e["Libration.Longitude", new LibrationLongitudeFormatter()] = (c, m) => c.Get(LibrationElements).l;
 }
Example #11
0
 public Constellations(Constellations other) : this(msclPINVOKE.new_Constellations__SWIG_1(Constellations.getCPtr(other)), true)
 {
     if (msclPINVOKE.SWIGPendingException.Pending)
     {
         throw msclPINVOKE.SWIGPendingException.Retrieve();
     }
 }
        public void Constellation_Region_HasSameId()
        {
            var c = Constellations.Get(20000001).Value;

            var r = c.Region();

            c.RegionId.Should().Be(r.Id);
        }
        public void Constellation_SolarSystems_ReturnsNonEmptySequence()
        {
            var c = Constellations.Get(20000001).Value;

            var ss = c.SolarSystems().ToList();

            ss.Should().NotHaveCount(0);
        }
Example #14
0
 public void SetRange(int index, Constellations values)
 {
     msclPINVOKE.Constellations_SetRange(swigCPtr, index, Constellations.getCPtr(values));
     if (msclPINVOKE.SWIGPendingException.Pending)
     {
         throw msclPINVOKE.SWIGPendingException.Retrieve();
     }
 }
Example #15
0
 public void AddRange(Constellations values)
 {
     msclPINVOKE.Constellations_AddRange(swigCPtr, Constellations.getCPtr(values));
     if (msclPINVOKE.SWIGPendingException.Pending)
     {
         throw msclPINVOKE.SWIGPendingException.Retrieve();
     }
 }
Example #16
0
            /// <summary>
            /// 誕生日から星座に変換
            /// </summary>
            public void ConvertBirthDayToConstellations()
            {
                var d = BirthDay.Day;
                var m = BirthDay.Month;

                if (m == 3 && d >= 21 || m == 4 && d <= 20)
                {
                    Constellations = Constellations.Aries;
                }
                else if (m == 4 && d >= 21 || m == 5 && d <= 20)
                {
                    Constellations = Constellations.Taurus;
                }
                else if (m == 5 && d >= 21 || m == 6 && d <= 21)
                {
                    Constellations = Constellations.Gemini;
                }
                else if (m == 6 && d >= 22 || m == 7 && d <= 23)
                {
                    Constellations = Constellations.Cancer;
                }
                else if (m == 7 && d >= 24 || m == 8 && d <= 23)
                {
                    Constellations = Constellations.Leo;
                }
                else if (m == 8 && d >= 24 || m == 9 && d <= 23)
                {
                    Constellations = Constellations.Virgo;
                }
                else if (m == 9 && d >= 24 || m == 10 && d <= 23)
                {
                    Constellations = Constellations.Libra;
                }
                else if (m == 10 && d >= 24 || m == 11 && d <= 22)
                {
                    Constellations = Constellations.Scorpion;
                }
                else if (m == 11 && d >= 23 || m == 12 && d <= 22)
                {
                    Constellations = Constellations.Sagittarius;
                }
                else if (m == 12 && d >= 23 || m == 1 && d <= 20)
                {
                    Constellations = Constellations.Capricorn;
                }
                else if (m == 1 && d >= 21 || m == 2 && d <= 19)
                {
                    Constellations = Constellations.Aquarius;
                }
                else if (m == 2 && d >= 20 || m == 3 && d <= 20)
                {
                    Constellations = Constellations.Pisces;
                }
                else
                {
                    throw new Exception("something is wrong.");
                }
            }
Example #17
0
        public static Constellations Repeat(Constellation value, int count)
        {
            global::System.IntPtr cPtr = msclPINVOKE.Constellations_Repeat(Constellation.getCPtr(value), count);
            Constellations        ret  = (cPtr == global::System.IntPtr.Zero) ? null : new Constellations(cPtr, true);

            if (msclPINVOKE.SWIGPendingException.Pending)
            {
                throw msclPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Example #18
0
        public Constellations GetRange(int index, int count)
        {
            global::System.IntPtr cPtr = msclPINVOKE.Constellations_GetRange(swigCPtr, index, count);
            Constellations        ret  = (cPtr == global::System.IntPtr.Zero) ? null : new Constellations(cPtr, true);

            if (msclPINVOKE.SWIGPendingException.Pending)
            {
                throw msclPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Example #19
0
 public void ConfigureEphemeris(EphemerisConfig <Nova> e)
 {
     e["Constellation"]       = (c, m) => Constellations.FindConstellation(c.Get(Equatorial, m), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, m) => c.Get(Equatorial, m).Alpha;
     e["Equatorial.Delta"]    = (c, m) => c.Get(Equatorial, m).Delta;
     e["Horizontal.Altitude"] = (c, m) => c.Get(Horizontal, m).Altitude;
     e["Horizontal.Azimuth"]  = (c, m) => c.Get(Horizontal, m).Azimuth;
     e["Magnitude"]           = (c, m) => c.Get(Magnitude, m);
     e["RTS.Rise"]            = (c, m) => c.GetDateFromTime(c.Get(RiseTransitSet, m).Rise);
     e["RTS.Transit"]         = (c, m) => c.GetDateFromTime(c.Get(RiseTransitSet, m).Transit);
     e["RTS.Set"]             = (c, m) => c.GetDateFromTime(c.Get(RiseTransitSet, m).Set);
     e["RTS.Duration"]        = (c, m) => c.Get(RiseTransitSet, m).Duration;
 }
Example #20
0
        public void GetInfo(CelestialObjectInfo <Star> info)
        {
            Star        s       = info.Body;
            SkyContext  c       = info.Context;
            StarDetails details = c.Get(ReadStarDetails, s.Number);

            info
            .SetTitle(string.Join(", ", s.Names))
            .SetSubtitle(Text.Get("Star.Type"))

            .AddRow("Constellation", Constellations.FindConstellation(c.Get(Equatorial, s.Number), c.JulianDay))

            .AddHeader(Text.Get("Star.Equatorial"))
            .AddRow("Equatorial.Alpha", c.Get(Equatorial, s.Number).Alpha)
            .AddRow("Equatorial.Delta", c.Get(Equatorial, s.Number).Delta)

            .AddHeader(Text.Get("Star.Equatorial0"))
            .AddRow("Equatorial0.Alpha", s.Equatorial0.Alpha)
            .AddRow("Equatorial0.Delta", s.Equatorial0.Delta)

            .AddHeader(Text.Get("Star.Horizontal"))
            .AddRow("Horizontal.Azimuth")
            .AddRow("Horizontal.Altitude")

            .AddHeader(Text.Get("Star.RTS"))
            .AddRow("RTS.Rise")
            .AddRow("RTS.Transit")
            .AddRow("RTS.Set")
            .AddRow("RTS.Duration")

            .AddHeader(Text.Get("Star.Visibility"))
            .AddRow("Visibility.Begin")
            .AddRow("Visibility.End")
            .AddRow("Visibility.Duration")
            .AddRow("Visibility.Period")

            .AddHeader(Text.Get("Star.Properties"))
            .AddRow("Magnitude", s.Mag)
            .AddRow("IsInfraredSource", details.IsInfraredSource)
            .AddRow("SpectralClass", details.SpectralClass);

            if (!string.IsNullOrEmpty(details.Pecularity))
            {
                info.AddRow("Pecularity", details.Pecularity);
            }

            if (details.RadialVelocity != null)
            {
                info.AddRow("RadialVelocity", details.RadialVelocity + " km/s");
            }
        }
 public void ConfigureEphemeris(EphemerisConfig <GenericMoon> e)
 {
     e["Constellation"]       = (c, nm) => Constellations.FindConstellation(c.Get(GenericMoon_Equatorial, nm.Id), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, nm) => c.Get(GenericMoon_Equatorial, nm.Id).Alpha;
     e["Equatorial.Delta"]    = (c, nm) => c.Get(GenericMoon_Equatorial, nm.Id).Delta;
     e["Horizontal.Altitude"] = (c, nm) => c.Get(GenericMoon_Horizontal, nm.Id).Altitude;
     e["Horizontal.Azimuth"]  = (c, nm) => c.Get(GenericMoon_Horizontal, nm.Id).Azimuth;
     e["AngularDiameter"]     = (c, nm) => c.Get(GenericMoon_Semidiameter, nm.Id) * 2 / 3600.0;
     e["Magnitude"]           = (c, nm) => c.Get(GenericMoon_Magnitude, nm.Id);
     e["RTS.Rise"]            = (c, nm) => c.GetDateFromTime(c.Get(Pluto_RiseTransitSet).Rise);
     e["RTS.Transit"]         = (c, nm) => c.GetDateFromTime(c.Get(Pluto_RiseTransitSet).Transit);
     e["RTS.Set"]             = (c, nm) => c.GetDateFromTime(c.Get(Pluto_RiseTransitSet).Set);
     e["RTS.Duration"]        = (c, nm) => c.Get(Pluto_RiseTransitSet).Duration;
 }
Example #22
0
 private void searchBar_Changed(object sender, EventArgs e)
 {
     if (TypeItem == TypeItemsOfColl.Constellation)
     {
         OurListView.ItemsSource = Constellations.Search(searchBar.Text);
     }
     else if (TypeItem == TypeItemsOfColl.Star)
     {
         OurListView.ItemsSource = Stars.Search(searchBar.Text);
     }
     else if (TypeItem == TypeItemsOfColl.Planet)
     {
         OurListView.ItemsSource = Planets.Search(searchBar.Text);
     }
 }
Example #23
0
        private static void CreateConstellations(int amount)
        {
            var next = TimeCoordinate.FiveToEight;

            if (LoadedConstellations > 0)
            {
                if (Constellations.Where(c => c.TimeCoordinate == TimeCoordinate.FiveToEight).Count() > Constellations.Where(c => c.TimeCoordinate == TimeCoordinate.NineToEleven).Count())
                {
                    next = TimeCoordinate.NineToEleven;
                }
                else if (Constellations.Where(c => c.TimeCoordinate == TimeCoordinate.NineToEleven).Count() > Constellations.Where(c => c.TimeCoordinate == TimeCoordinate.Midnight).Count())
                {
                    next = TimeCoordinate.Midnight;
                }
                else if (Constellations.Where(c => c.TimeCoordinate == TimeCoordinate.Midnight).Count() > Constellations.Where(c => c.TimeCoordinate == TimeCoordinate.OneToFour).Count())
                {
                    next = TimeCoordinate.OneToFour;
                }
            }

            for (int i = 0; i < amount; i++)
            {
                int    ra  = 0;
                double dec = 0.0;

                do
                {
                    ra  = Utility.RandomMinMax(0, MaxRA);
                    dec = Utility.RandomMinMax(0, (int)MaxDEC) + Utility.RandomList(.2, .4, .6, .8, .0);
                }while (CheckExists(next, ra, dec));

                var info = new ConstellationInfo(next, ra, dec, ConstellationInfo.RandomStarPositions());
                Constellations.Add(info);

                info.Identifier = Constellations.Count - 1;

                switch (next)
                {
                case TimeCoordinate.FiveToEight: next = TimeCoordinate.NineToEleven; break;

                case TimeCoordinate.NineToEleven: next = TimeCoordinate.Midnight; break;

                case TimeCoordinate.Midnight: next = TimeCoordinate.OneToFour; break;

                case TimeCoordinate.OneToFour: next = TimeCoordinate.FiveToEight; break;
                }
            }
        }
Example #24
0
        public static void OnLoad()
        {
            Persistence.Deserialize(
                FilePath,
                reader =>
            {
                reader.ReadInt();

                LoadedConstellations = reader.ReadInt();

                for (int i = 0; i < LoadedConstellations; i++)
                {
                    Constellations.Add(new ConstellationInfo(reader));
                }
            });
        }
Example #25
0
 public void ConfigureEphemeris(EphemerisConfig <NeptuneMoon> e)
 {
     e["Constellation"]       = (c, nm) => Constellations.FindConstellation(c.Get(NeptuneMoon_Equatorial, nm.Number), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, nm) => c.Get(NeptuneMoon_Equatorial, nm.Number).Alpha;
     e["Equatorial.Delta"]    = (c, nm) => c.Get(NeptuneMoon_Equatorial, nm.Number).Delta;
     e["Horizontal.Altitude"] = (c, nm) => c.Get(NeptuneMoon_Horizontal, nm.Number).Altitude;
     e["Horizontal.Azimuth"]  = (c, nm) => c.Get(NeptuneMoon_Horizontal, nm.Number).Azimuth;
     e["Rectangular.X"]       = (c, nm) => c.Get(NeptuneMoon_Rectangular, nm.Number).X;
     e["Rectangular.Y"]       = (c, nm) => c.Get(NeptuneMoon_Rectangular, nm.Number).Y;
     e["Rectangular.Z"]       = (c, nm) => c.Get(NeptuneMoon_Rectangular, nm.Number).Z;
     e["RTS.Rise"]            = (c, p) => c.GetDateFromTime(c.Get(Planet_RiseTransitSet, Planet.NEPTUNE).Rise);
     e["RTS.Transit"]         = (c, p) => c.GetDateFromTime(c.Get(Planet_RiseTransitSet, Planet.NEPTUNE).Transit);
     e["RTS.Set"]             = (c, p) => c.GetDateFromTime(c.Get(Planet_RiseTransitSet, Planet.NEPTUNE).Set);
     e["RTS.Duration"]        = (c, p) => c.Get(Planet_RiseTransitSet, Planet.NEPTUNE).Duration;
     e["AngularDiameter"]     = (c, nm) => c.Get(NeptuneMoon_Semidiameter, nm.Number) * 2 / 3600.0;
     e["Magnitude"]           = (c, nm) => c.Get(NeptuneMoon_Magnitude, nm.Number);
 }
Example #26
0
        public void GetInfo(CelestialObjectInfo <Meteor> info)
        {
            Meteor     m = info.Body;
            SkyContext c = info.Context;

            string     constellation = Constellations.FindConstellation(c.Get(Equatorial, m), c.JulianDay);
            int        year          = c.GetDate(c.JulianDay).Year;
            var        offset        = c.GeoLocation.UtcOffset;
            var        jd0           = Date.DeltaT(c.JulianDay) / 86400.0 + Date.JulianDay0(year) - offset / 24;
            var        begin         = new Date(jd0 + m.Begin, offset);
            var        max           = new Date(jd0 + m.Max, offset);
            var        end           = new Date(jd0 + m.End, offset);
            SkyContext cMax          = new SkyContext(jd0 + m.Max, c.GeoLocation, c.PreferFastCalculation);
            var        phase         = LunarPhaseAtMax(cMax, m);

            info
            .SetTitle(string.Join(", ", info.Body.Names))
            .SetSubtitle(Text.Get("Meteor.Type"))
            .AddRow("Constellation", constellation)

            .AddHeader(Text.Get("Meteor.Equatorial"))
            .AddRow("Equatorial.Alpha")
            .AddRow("Equatorial.Delta")

            .AddHeader(Text.Get("Meteor.Horizontal"))
            .AddRow("Horizontal.Azimuth")
            .AddRow("Horizontal.Altitude")

            .AddHeader(Text.Get("Meteor.RTS"))
            .AddRow("RTS.Rise")
            .AddRow("RTS.Transit")
            .AddRow("RTS.Set")
            .AddRow("RTS.Duration")

            .AddHeader(Text.Get("Meteor.Activity"))
            .AddRow("Activity.Begin", begin, Formatters.Date)
            .AddRow("Activity.Max", max, Formatters.Date)
            .AddRow("Activity.End", end, Formatters.Date)
            .AddRow("Activity.LunarPhaseAtMax", phase, Formatters.Phase)

            .AddHeader(Text.Get("Meteor.Data"))
            .AddRow("Data.ZHR", m.ZHR)
            .AddRow("Data.ActivityClass", m.ActivityClass)
            .AddRow("Data.DriftRA", m.Drift.Alpha, Formatters.Angle)
            .AddRow("Data.DriftDec", m.Drift.Delta, Formatters.Angle);
        }
Example #27
0
        public ConstellationsDialogHost(Constellations constellation)
        {
            InitializeComponent();

            Name.Text = Convert.ToString(constellation.Name);

            Right_Ascension_from.Text = Convert.ToString(constellation.Right_Ascension_from);
            Right_Ascension_to.Text   = Convert.ToString(constellation.Right_Ascension_to);

            Declination_from.Text = Convert.ToString(constellation.Declination_from);
            Declination_to.Text   = Convert.ToString(constellation.Declination_to);

            Info.Text = Convert.ToString(constellation.Info);

            new_constellation  = false;
            this.constellation = constellation;
        }
        public void FindConstellation()
        {
            // precessional elements for converting from J1950 to B1875 epoch
            var p = Precession.ElementsFK5(Date.EPOCH_J1950, Date.EPOCH_B1875);

            foreach (var test in testData)
            {
                // Equatorial coordinates for B1875 epoch
                CrdsEquatorial eq = Precession.GetEquatorialCoordinates(new CrdsEquatorial(test.RA, test.Dec), p);

                // Constellation name
                string con = Constellations.FindConstellation(eq);

                // Check result
                Assert.AreEqual(test.ConstName, con);
            }
        }
Example #29
0
 public void ConfigureEphemeris(EphemerisConfig <Planet> e)
 {
     e["Constellation"]       = (c, p) => Constellations.FindConstellation(c.Get(Planet_Equatorial, p.Number), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, p) => c.Get(Planet_Equatorial, p.Number).Alpha;
     e["Equatorial.Delta"]    = (c, p) => c.Get(Planet_Equatorial, p.Number).Delta;
     e["Equatorial0.Alpha"]   = (c, p) => c.Get(Planet_Equatorial0, p.Number).Alpha;
     e["Equatorial0.Delta"]   = (c, p) => c.Get(Planet_Equatorial0, p.Number).Delta;
     e["Ecliptical.Lambda"]   = (c, p) => c.Get(Planet_Ecliptical, p.Number).Lambda;
     e["Ecliptical.Beta"]     = (c, p) => c.Get(Planet_Ecliptical, p.Number).Beta;
     e["Horizontal.Altitude"] = (c, p) => c.Get(Planet_Horizontal, p.Number).Altitude;
     e["Horizontal.Azimuth"]  = (c, p) => c.Get(Planet_Horizontal, p.Number).Azimuth;
     e["Magnitude"]           = (c, p) => c.Get(Planet_Magnitude, p.Number);
     e["Phase"]                         = (c, p) => c.Get(Planet_Phase, p.Number);
     e["PhaseAngle"]                    = (c, p) => c.Get(Planet_PhaseAngle, p.Number);
     e["DistanceFromEarth"]             = (c, p) => c.Get(Planet_DistanceFromEarth, p.Number);
     e["DistanceFromSun"]               = (c, p) => c.Get(Planet_DistanceFromSun, p.Number);
     e["HorizontalParallax"]            = (c, p) => c.Get(Planet_Parallax, p.Number);
     e["AngularDiameter"]               = (c, p) => c.Get(Planet_Semidiameter, p.Number) * 2 / 3600.0;
     e["Appearance.CM"]                 = (c, p) => c.Get(Planet_Appearance, p.Number).CM;
     e["Appearance.D"]                  = (c, p) => c.Get(Planet_Appearance, p.Number).D;
     e["Appearance.P"]                  = (c, p) => c.Get(Planet_Appearance, p.Number).P;
     e["MartianCalendar.Year", IsMars]  = (c, p) => c.Get(Mars_Calendar).Year;
     e["MartianCalendar.Month", IsMars] = (c, p) => c.Get(Mars_Calendar).Month;
     e["MartianCalendar.Sol", IsMars]   = (c, p) => Math.Ceiling(c.Get(Mars_Calendar).Sol);
     e["MartianCalendar.Ls", IsMars, new Formatters.UnsignedDoubleFormatter(2, "\u00B0")]     = (c, p) => c.Get(Mars_Calendar).Ls;
     e["MartianPolarCaps.North", IsMars, new Formatters.UnsignedDoubleFormatter(1, "\u00B0")] = (c, p) => c.Get(Mars_PolarCap, PolarCap.Northern);
     e["MartianPolarCaps.South", IsMars, new Formatters.UnsignedDoubleFormatter(1, "\u00B0")] = (c, p) => c.Get(Mars_PolarCap, PolarCap.Southern);
     e["GRSLongitude", IsJupiter, new Formatters.UnsignedDoubleFormatter(2, "\u00B0")]        = (c, p) => c.Get(Jupiter_GreatRedSpotLongitude);
     e["SaturnRings.a", IsSaturn, new SaturnRingsFormatter()] = (c, p) => c.Get(Saturn_RingsAppearance, p.Number).a;
     e["SaturnRings.b", IsSaturn, new SaturnRingsFormatter()] = (c, p) => c.Get(Saturn_RingsAppearance, p.Number).b;
     e["RTS.Rise"]            = (c, p) => c.GetDateFromTime(c.Get(Planet_RiseTransitSet, p.Number).Rise);
     e["RTS.Transit"]         = (c, p) => c.GetDateFromTime(c.Get(Planet_RiseTransitSet, p.Number).Transit);
     e["RTS.Set"]             = (c, p) => c.GetDateFromTime(c.Get(Planet_RiseTransitSet, p.Number).Set);
     e["RTS.Duration"]        = (c, p) => c.Get(Planet_RiseTransitSet, p.Number).Duration;
     e["RTS.RiseAzimuth"]     = (c, p) => c.Get(Planet_RiseTransitSet, p.Number).RiseAzimuth;
     e["RTS.TransitAltitude"] = (c, p) => c.Get(Planet_RiseTransitSet, p.Number).TransitAltitude;
     e["RTS.SetAzimuth"]      = (c, p) => c.Get(Planet_RiseTransitSet, p.Number).SetAzimuth;
     e["Visibility.Begin"]    = (c, p) => c.GetDateFromTime(c.Get(Planet_Visibility, p.Number).Begin);
     e["Visibility.End"]      = (c, p) => c.GetDateFromTime(c.Get(Planet_Visibility, p.Number).End);
     e["Visibility.Duration"] = (c, p) => c.Get(Planet_Visibility, p.Number).Duration;
     e["Visibility.Period"]   = (c, p) => c.Get(Planet_Visibility, p.Number).Period;
 }
Example #30
0
 public void ConfigureEphemeris(EphemerisConfig <Star> e)
 {
     e["Constellation"]       = (c, s) => Constellations.FindConstellation(c.Get(Equatorial, s.Number), c.JulianDay);
     e["Equatorial.Alpha"]    = (c, s) => c.Get(Equatorial, s.Number).Alpha;
     e["Equatorial.Delta"]    = (c, s) => c.Get(Equatorial, s.Number).Delta;
     e["Horizontal.Azimuth"]  = (c, s) => c.Get(Horizontal, s.Number).Azimuth;
     e["Horizontal.Altitude"] = (c, s) => c.Get(Horizontal, s.Number).Altitude;
     e["Magnitude"]           = (c, s) => s.Mag;
     e["RTS.Rise"]            = (c, s) => c.GetDateFromTime(c.Get(RiseTransitSet, s.Number).Rise);
     e["RTS.Transit"]         = (c, s) => c.GetDateFromTime(c.Get(RiseTransitSet, s.Number).Transit);
     e["RTS.Set"]             = (c, s) => c.GetDateFromTime(c.Get(RiseTransitSet, s.Number).Set);
     e["RTS.Duration"]        = (c, s) => c.Get(RiseTransitSet, s.Number).Duration;
     e["RTS.RiseAzimuth"]     = (c, s) => c.Get(RiseTransitSet, s.Number).RiseAzimuth;
     e["RTS.TransitAltitude"] = (c, s) => c.Get(RiseTransitSet, s.Number).TransitAltitude;
     e["RTS.SetAzimuth"]      = (c, s) => c.Get(RiseTransitSet, s.Number).SetAzimuth;
     e["Visibility.Begin"]    = (c, s) => c.GetDateFromTime(c.Get(VisibilityDetails, s.Number).Begin);
     e["Visibility.End"]      = (c, s) => c.GetDateFromTime(c.Get(VisibilityDetails, s.Number).End);
     e["Visibility.Duration"] = (c, s) => c.Get(VisibilityDetails, s.Number).Duration;
     e["Visibility.Period"]   = (c, s) => c.Get(VisibilityDetails, s.Number).Period;
 }