Stellarium
0.20.4
|
The Maya Haab was a 365-day Solar calendar without intercalation. More...
#include <MayaHaabCalendar.hpp>
Public Member Functions | |
MayaHaabCalendar (double jd) | |
virtual void | retranslate () Q_DECL_OVERRIDE |
Translate e.g. stringlists of part names. | |
virtual void | setJD (double JD) Q_DECL_OVERRIDE |
Set a calendar date from the Julian day number. | |
virtual void | setDate (QVector< int > parts) Q_DECL_OVERRIDE |
set date from a vector of calendar date elements sorted from the largest to the smallest. More... | |
virtual QStringList | getDateStrings () const Q_DECL_OVERRIDE |
get a stringlist of calendar date elements sorted from the largest to the smallest. More... | |
virtual QString | getFormattedDateString () const Q_DECL_OVERRIDE |
get a formatted complete string for a date | |
Public Member Functions inherited from Calendar | |
Calendar (double jd) | |
virtual double | getJD () const |
Get Julian day number from a calendar date. | |
virtual QVector< int > | getDate () const |
get a vector of calendar date elements sorted from the largest to the smallest. More... | |
int | rdCorrSum (QVector< int >factors, int corr) |
Static Public Member Functions | |
static int | mayanYearBearerFromFixed (int rd) |
get tzolkin name index of Haab year bearer (name of 0 Pop) from Haab date This must be one of 2, 7, 12, 17. More... | |
static int | mayanCalendarRoundOnOrBefore (QVector< int >haab, QVector< int >tzolkin, int rd) |
get RD of a given calendar round date on or before rd. They repeat every 18980 days. | |
static int | mayanHaabOrdinal (QVector< int > haab) |
static int | mayanHaabOnOrBefore (QVector< int > haab, int rd) |
static QVector< int > | mayanHaabFromFixed (int rd) |
Static Public Member Functions inherited from Calendar | |
static double | momentFromJD (double jd, bool respectUTCoffset=true) |
Interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a "moment" in RD that represents JD. More... | |
static int | fixedFromMoment (double rd) |
static double | timeFromMoment (double rd) |
static int | fixedFromJD (double jd, bool respectUTCoffset=true) |
Interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a fixed date in RD that represents noon of JD. More... | |
static double | momentFromMJD (double mjd) |
static double | jdFromMoment (double rd, bool respectUTCoffset=true) |
interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a JD from an RD "moment" (including fractions of day) Stellarium extension: optionally includes local time zone offset. More... | |
static double | jdFromFixed (double rd, bool respectUTCoffset=true) |
interfacing function from Reingold/Dershowitz: Calendrical Calculations Returns a JD from an RD "moment" (including fractions of day) Stellarium extension: optionally includes local time zone offset. More... | |
static double | mjdFromFixed (double rd) |
static int | dayOfWeekFromFixed (int rd) |
weekday from RD date. CC.UE(1.60). | |
static int | kdayOnOrBefore (const Calendar::Day k, const int rd) |
the R.D. of the nearest weekday k on or before rd | |
static int | kdayOnOrAfter (const Calendar::Day k, const int rd) |
the R.D. of the nearest weekday k on or after rd | |
static int | kdayNearest (const Calendar::Day k, const int rd) |
the R.D. of the nearest weekday k around rd | |
static int | kdayBefore (const Calendar::Day k, const int rd) |
the R.D. of the nearest weekday k before rd | |
static int | kdayAfter (const Calendar::Day k, const int rd) |
the R.D. of the nearest weekday k after rd | |
static double | modInterval (double x, double a, double b) |
Interval modulus, CC.UE 1.24. More... | |
static int | modInterval (int x, int a, int b) |
Interval modulus, CC.UE 1.24: This EXCLUDES the upper limit! Use StelUtils::amod(x, b) for CC's (x)mod[1..b]. | |
static int | rdCorrSum (QVector< int >parts, QVector< int >factors, int corr) |
Reingold-Dershowitz CC.UE 1.48. | |
static QVector< int > | toRadix (int num, QVector< int >radix) |
Split integer to mixed-radix vector. Reingold-Dershowitz CC.UE 1.42. | |
Additional Inherited Members | |
Public Types inherited from Calendar | |
enum | Day { sunday = 0, monday, tuesday, wednesday, thursday, friday, saturday } |
enum from CC.UE-ch1.12. | |
enum | Season { spring = 0, summer = 90, autumn = 180, winter = 270 } |
Signals inherited from Calendar | |
void | partsChanged (QVector< int > parts) |
void | jdChanged (double jd) |
Static Public Attributes inherited from Calendar | |
static constexpr const double | J2000 =2451545.0 |
static constexpr const double | jdEpoch =-1721424.5 |
static constexpr const double | mjdEpoch =678576.0 |
static constexpr const int | bogus =-1000000 |
Protected Attributes inherited from Calendar | |
double | JD |
QVector< int > | parts |
date expressed as JD(UT), including day fraction (ready to interact with the main application) | |
Similar to the Egyptian calendar, after 18 months of 20 days there was a short "month" of 5 extra days. The implementation follows CC.
|
virtual |
monthName-day[0..19]
Implements Calendar.
|
static |
(TODO: write a test!)
|
virtual |
month[1..19]-day[0..19] We face a problem as the year is not counted. We can only find the date before current JD which matches the parts.
Implements Calendar.