Stellarium  0.20.4
Public Member Functions | Static Public Member Functions | Static Public Attributes
MayaTzolkinCalendar Class Reference

The Maya Tzolkin was a 260-day calendar consisting of a 13-day count and a 20-name count. More...

#include <MayaTzolkinCalendar.hpp>

Public Member Functions

 MayaTzolkinCalendar (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...
 
- 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...
 
virtual QString getFormattedDateString () const
 get a formatted complete string for a date. The default implementation just concatenates all strings from getDateStrings() with a space in between.
 
int rdCorrSum (QVector< int >factors, int corr)
 

Static Public Member Functions

static QVector< int > mayanTzolkinFromFixed (int rd)
 usually internal, but used by MayaHaabCalendar.
 
static QString tzolkinName (int i)
 return Tzolkin name for index [0...19]
 
static int mayanTzolkinOrdinal (QVector< int > tzolkin)
 
- 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.
 

Static Public Attributes

static const int mayanTzolkinEpoch
 
- 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
 

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)
 
- 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)
 

Detailed Description

The implementation follows CC. The "name" is not a month but also changes every day. The traditional writing is number-name, which is also used in the parts.

Member Function Documentation

◆ getDateStrings()

virtual QStringList MayaTzolkinCalendar::getDateStrings ( ) const
virtual

dayNumber[1..13]-name

Implements Calendar.

Reimplemented in AztecTonalpohualliCalendar.

◆ setDate()

virtual void MayaTzolkinCalendar::setDate ( QVector< int >  parts)
virtual

dayNumber[1..13]-nameIndex[1..20] We face a problem as the date is not unique. We can only find the date before current JD which matches the parts.

Implements Calendar.

Reimplemented in AztecTonalpohualliCalendar.