Stellarium  0.20.4
Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Attributes
BalinesePawukonCalendar Class Reference

Balinese Pawukon calendar, a cycle count of 10 simultaneous cycles of different lengths. More...

#include <BalinesePawukonCalendar.hpp>

Public Member Functions

 BalinesePawukonCalendar (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 This triggers the partsChanged() signal.
 
virtual void setDate (QVector< int > parts) Q_DECL_OVERRIDE
 set date from a vector of calendar date elements sorted in canonical order, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} This triggers the jdChanged() signal Note that this must not change the time of day! You must retrieve the time from the current JD before recomputing a new JD. 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. The default implementation just concatenates all strings from getDateStrings() with a space in between.
 
QString getFormattedDateString1to5 () const
 get a formatted string for the 5 first components of a date.
 
QString getFormattedDateString6to10 () const
 get a formatted string for the 5 second components of 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 QVector< int > baliPawukonFromFixed (const int rd)
 
static int baliDayFromFixed (const int rd)
 
static int baliTriwaraFromFixed (const int rd)
 
static int baliSadwaraFromFixed (const int rd)
 
static int baliSaptawaraFromFixed (const int rd)
 
static int baliPancawaraFromFixed (const int rd)
 
static int baliWeekFromFixed (const int rd)
 
static int baliDasawaraFromFixed (const int rd)
 
static int baliDwiwaraFromFixed (const int rd)
 
static int baliLuangFromFixed (const int rd)
 
static int baliSangawaraFromFixed (const int rd)
 
static int baliAsatawaraFromFixed (const int rd)
 
static int baliCaturwaraFromFixed (const int rd)
 
static int baliOnOrBefore (const QVector< int >baliDate, const 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.
 

Static Public Attributes

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

Static Protected Attributes

static QMap< int, QString > ekawaraNames
 
static QMap< int, QString > dwiwaraNames
 
static QMap< int, QString > triwaraNames
 
static QMap< int, QString > caturwaraNames
 
static QMap< int, QString > pancawaraNames
 
static QMap< int, QString > sadwaraNames
 
static QMap< int, QString > saptawaraNames
 
static QMap< int, QString > asatawaraNames
 
static QMap< int, QString > sangawaraNames
 
static QMap< int, QString > dasawaraNames
 
static QMap< int, QString > weekNames
 

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

Only cycles 5, 6, 7 are enough to determine a date. The cycles are not counted into longer periods, therefore no absolute "epoch" dating is possible.

Member Function Documentation

◆ getDateStrings()

virtual QStringList BalinesePawukonCalendar::getDateStrings ( ) const
virtual

The order depends on the actual calendar

Implements Calendar.

◆ setDate()

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

This actually sets bali-on-or-before()

Implements Calendar.