public void TestCastToDouble() { var jd = new JulianDay(JulianDay.J2000); var et = new EphemerisTime(jd, 12.34); Assert.Equal(2451545 + 12.34, (double)et); }
public void TestToString() { var jd = new JulianDay(JulianDay.J2000); var et = new EphemerisTime(jd, 12.34); Assert.Equal((2451557.34).ToString(), et.ToString()); }
public void TestCreateEmpty() { EphemerisTime et = new EphemerisTime(); Assert.AreEqual(0.0, et.JulianDay.Value); Assert.AreEqual(0.0, et.DeltaT); Assert.AreEqual(0.0, et.Value); }
PlanetValues InternalCalcPlanet(Planet planet, EphemerisTime time, double?armc = null, Longitude?longitude = null, double?trueEclipticObliquity = null) { CheckInitialized(); String serr = null; Double[] x = new double[24]; String star = String.Empty; int iflgret; var result = new PlanetValues() { Planet = planet }; if (planet == Planet.FixedStar) { iflgret = Sweph.swe_fixstar(star, time, _SwephFlag, x, ref serr); result.PlanetName = star; } else { iflgret = Sweph.swe_calc(time, planet, _SwephFlag, x, ref serr); result.PlanetName = Sweph.swe_get_planet_name(planet); if (planet.IsAsteroid) { result.PlanetName = String.Format("#{0}", planet - Planet.FirstAsteroid); } } if (iflgret >= 0) { result.Longitude = x[0]; result.Latitude = x[1]; result.Distance = x[2]; result.LongitudeSpeed = x[3]; result.LatitudeSpeed = x[4]; result.DistanceSpeed = x[5]; if (armc.HasValue && longitude.HasValue && trueEclipticObliquity.HasValue) { result.HousePosition = Sweph.swe_house_pos(armc.Value, longitude.Value, trueEclipticObliquity.Value, HouseSystemToChar(_HouseSystem), x, ref serr); if (result.HousePosition == 0) { iflgret = SwissEph.ERR; } } } if (iflgret < 0) { if (!String.IsNullOrEmpty(serr)) { result.ErrorMessage = serr; } } else if (!String.IsNullOrEmpty(serr) && String.IsNullOrEmpty(result.WarnMessage)) { result.WarnMessage = serr; } return(result); }
public void TestToString() { var date = new UniversalTime(2014, 4, 26, 16, 53, 24); var jd = new JulianDay(date, DateCalendar.Gregorian); var dt = 0.456; EphemerisTime et = new EphemerisTime(jd, dt); Assert.AreEqual(2456774.65975.ToString(), et.ToString()); }
public void TestCastToDouble() { var date = new UniversalTime(2014, 4, 26, 16, 53, 24); var jd = new JulianDay(date, DateCalendar.Gregorian); var dt = 0.456; EphemerisTime et = new EphemerisTime(jd, dt); double cd = et; Assert.AreEqual(cd, et.Value); }
public void TestCreate() { var date = new UniversalTime(2014, 4, 26, 16, 53, 24); var jd = new JulianDay(date, DateCalendar.Gregorian); var dt = 0.456; EphemerisTime et = new EphemerisTime(jd, dt); Assert.AreEqual(jd, et.JulianDay); Assert.AreEqual(dt, et.DeltaT); Assert.AreEqual(jd.Value + dt, et.Value); }
/// <summary> /// Reset the result /// </summary> public void Reset() { DateUTC = new DateUT(); JulianDay = new JulianDay(); EphemerisTime = new EphemerisTime(); SideralTime = 0; MeanEclipticObliquity = 0; TrueEclipticObliquity = 0; NutationLongitude = 0; NutationObliquity = 0; Planets.Clear(); Houses.Clear(); ASMCs.Clear(); }
/// <summary> /// Calcul des nutations écliptiques /// </summary> public EclipticNutationValues CalcEclipticNutation(EphemerisTime time) { CheckInitialized(); String serr = null; Double[] x = new double[24]; var iflgret = Sweph.swe_calc(time, SwissEph.SE_ECL_NUT, _SwephFlag, x, ref serr); return(new EclipticNutationValues { TrueEclipticObliquity = x[0], MeanEclipticObliquity = x[1], NutationLongitude = x[2], NutationObliquity = x[3] }); }
public void TestCreate() { var et = new EphemerisTime(); Assert.Equal(0, et.JulianDay); Assert.Equal(0, et.DeltaT); Assert.Equal(0, et.Value); var jd = new JulianDay(JulianDay.J2000); et = new EphemerisTime(jd, 12.34); Assert.Equal(2451545, et.JulianDay); Assert.Equal(12.34, et.DeltaT); Assert.Equal(2451545 + 12.34, et.Value); }
/// <summary> /// Calcul les informations d'une planète avec sa position dans une maison /// </summary> public PlanetValues CalcPlanet(Planet planet, EphemerisTime time, double armc, Longitude longitude, double trueEclipticObliquity) { return(InternalCalcPlanet(planet, time, armc, longitude, trueEclipticObliquity)); }
/// <summary> /// Calcul les informations d'une planète sans sa position dans une maison /// </summary> public PlanetValues CalcPlanet(Planet planet, EphemerisTime time) { return(InternalCalcPlanet(planet, time)); }