Stellarium 0.11.1
Home · All Namespaces · All Classes · Functions · Coding Style · Scripting · Plugins · File Structure
Functions
StelUtils Namespace Reference

Functions

QString getApplicationName ()
QString getApplicationVersion ()
double hmsToRad (unsigned int h, unsigned int m, double s)
double dmsToRad (int d, unsigned int m, double s)
void radToHms (double rad, unsigned int &h, unsigned int &m, double &s)
void radToDms (double rad, bool &sign, unsigned int &d, unsigned int &m, double &s)
QString radToHmsStrAdapt (double angle)
QString radToHmsStr (double angle, bool decimal=false)
QString radToDmsStrAdapt (double angle, bool useD=false)
QString radToDmsStr (double angle, bool decimal=false, bool useD=false)
double dmsStrToRad (const QString &s)
Vec3f strToVec3f (const QStringList &s)
Vec3f strToVec3f (const QString &s)
QString vec3fToHtmlColor (const Vec3f &v)
Vec3f htmlColorToVec3f (const QString &c)
void spheToRect (double lng, double lat, Vec3d &v)
void spheToRect (float lng, float lat, Vec3f &v)
void rectToSphe (double *lng, double *lat, const Vec3d &v)
void rectToSphe (float *lng, float *lat, const Vec3d &v)
void ctRadec2Ecl (const double raRad, const double decRad, const double eclRad, double *lambdaRad, double *betaRad)
double getDecAngle (const QString &str)
bool isPowerOfTwo (int value)
int getBiggerPowerOfTwo (int value)
double asinh (double z)
void getDateFromJulianDay (double julianDay, int *year, int *month, int *day)
void getTimeFromJulianDay (double julianDay, int *hour, int *minute, int *second)
bool getDateTimeFromISO8601String (const QString &iso8601Date, int *y, int *m, int *d, int *h, int *min, float *s)
QString julianDayToISO8601String (double jd)
double getJulianDayFromISO8601String (const QString &iso8601Date, bool *ok)
QString localeDateString (int year, int month, int day, int dayOfWeek, QString fmt)
QString localeDateString (int year, int month, int day, int dayOfWeek)
double getJDFromSystem ()
double qTimeToJDFraction (const QTime &time)
QTime jdFractionToQTime (double jd)
float getGMTShiftFromQT (double jd)
double qDateTimeToJd (const QDateTime &dateTime)
QDateTime jdToQDateTime (const double &jd)
bool getJDFromDate (double *newjd, int y, int m, int d, int h, int min, int s)
int numberOfDaysInMonthInYear (int month, int year)
bool changeDateTimeForRollover (int oy, int om, int od, int oh, int omin, int os, int *ry, int *rm, int *rd, int *rh, int *rmin, int *rs)
void debugQVariantMap (const QVariant &m, const QString &indent="", const QString &key="")
float fastAcos (float x)
float fastExp (float x)

Detailed Description

contains general purpose utility functions.


Function Documentation

double StelUtils::dmsStrToRad ( const QString &  s)

Convert a dms formatted string to an angle in radian.

Parameters:
dsmThe input string
double StelUtils::dmsToRad ( int  d,
unsigned int  m,
double  s 
)

Convert an angle in +-dms format to radian.

Parameters:
ddegree component
marcmin component
sarcsec component
Returns:
angle in radian
bool StelUtils::getDateTimeFromISO8601String ( const QString &  iso8601Date,
int *  y,
int *  m,
int *  d,
int *  h,
int *  min,
float *  s 
)

Parse an ISO8601 date string.

Also handles negative and distant years.

double StelUtils::getDecAngle ( const QString &  str)

Convert a string longitude, latitude, RA or Declination angle to radians.

Parameters:
strthe angle in format something like these:
  • +53d 51'21.6" - +53d51'21.6"
  • -1d 10'31.8" - +46d6'31"
  • 50D46'0"N - 123D47'59"W
  • 123.567 N
  • 123.567W
  • -123.567
  • 12h 14m 6s The degree separator may be a degree symbol (\xBA) in addition to a 'd' or 'D'.
Returns:
the angle in radians. Latitude: North are positive, South are negative. Longitude: East is positive, West is negative. Note: if there is a N, S, E or W suffix, any leading + or - characters are ignored.

Get the current Julian Date from system time.

Returns:
the current Julian Date
double StelUtils::getJulianDayFromISO8601String ( const QString &  iso8601Date,
bool *  ok 
)

Return the Julian Date matching the ISO8601 date string.

Also handles negative and distant years.

double StelUtils::hmsToRad ( unsigned int  h,
unsigned int  m,
double  s 
)

Convert an angle in hms format to radian.

Parameters:
hhour component
mminute component
ssecond component
Returns:
angle in radian
Vec3f StelUtils::htmlColorToVec3f ( const QString &  c)

Converts a color in HTML notation to a Vec3f.

Parameters:
cThe HTML spec color string
QDateTime StelUtils::jdToQDateTime ( const double &  jd)

Convert a julian day to a QDateTime.

Parameters:
jdto convert
Returns:
the matching UTC QDateTime
QString StelUtils::julianDayToISO8601String ( double  jd)

Format the given Julian Day in (UTC) ISO8601 date string.

Also handles negative and distant years.

QString StelUtils::localeDateString ( int  year,
int  month,
int  day,
int  dayOfWeek,
QString  fmt 
)

Format the date and day-of-week per the format in fmt (see QDateTime::toString()).

Returns:
QString representing the formatted date
QString StelUtils::localeDateString ( int  year,
int  month,
int  day,
int  dayOfWeek 
)

Format the date and day-of-week per the default locale's QLocale::ShortFormat.

Returns:
QString representing the formatted date
double StelUtils::qDateTimeToJd ( const QDateTime &  dateTime)

Convert a QT QDateTime class to julian day.

Parameters:
dateTimethe UTC QDateTime to convert
Returns:
the matching decimal Julian Day
double StelUtils::qTimeToJDFraction ( const QTime &  time)

Convert a time of day to the fraction of a Julian Day.

Note that a Julian Day starts at 12:00, not 0:00, and so 12:00 == 0.0 and 0:00 == 0.5

void StelUtils::radToDms ( double  rad,
bool &  sign,
unsigned int &  d,
unsigned int &  m,
double &  s 
)

Convert an angle in radian to +-dms format.

Parameters:
radinput angle in radian
signtrue if positive, false otherwise
ddegree component
mminute component
ssecond component
QString StelUtils::radToDmsStr ( double  angle,
bool  decimal = false,
bool  useD = false 
)

Convert an angle in radian to a dms formatted string.

Parameters:
angleinput angle in radian
useDDefine if letter "d" must be used instead of deg sign
decimaloutput decimal second value
QString StelUtils::radToDmsStrAdapt ( double  angle,
bool  useD = false 
)

Convert an angle in radian to a dms formatted string.

If the second, minute part is == 0, it is not output

Parameters:
angleinput angle in radian
useDDefine if letter "d" must be used instead of deg sign
void StelUtils::radToHms ( double  rad,
unsigned int &  h,
unsigned int &  m,
double &  s 
)

Convert an angle in radian to hms format.

Parameters:
radinput angle in radian
hhour component
mminute component
ssecond component
QString StelUtils::radToHmsStr ( double  angle,
bool  decimal = false 
)

Convert an angle in radian to a hms formatted string.

Parameters:
angleinput angle in radian
decimaloutput decimal second value
QString StelUtils::radToHmsStrAdapt ( double  angle)

Convert an angle in radian to a hms formatted string.

If the second, minute part is == 0, it is not output

Parameters:
angleinput angle in radian
void StelUtils::rectToSphe ( double *  lng,
double *  lat,
const Vec3d v 
)

Convert from spherical coordinates to Rectangular direction.

Parameters:
lngdouble* to store longitude in radian
latdouble* to store latitude in radian
vthe input 3D vector
void StelUtils::rectToSphe ( float *  lng,
float *  lat,
const Vec3d v 
)

Convert from spherical coordinates to Rectangular direction.

Parameters:
lngfloat* to store longitude in radian
latfloat* to store latitude in radian
vthe input 3D vector
void StelUtils::spheToRect ( double  lng,
double  lat,
Vec3d v 
)

Convert from spherical coordinates to Rectangular direction.

Parameters:
lnglongitude in radian
latlatitude in radian
vthe resulting 3D unit vector
void StelUtils::spheToRect ( float  lng,
float  lat,
Vec3f v 
)

Convert from spherical coordinates to Rectangular direction.

Parameters:
lnglongitude in radian
latlatitude in radian
vthe resulting 3D unti vector
Vec3f StelUtils::strToVec3f ( const QStringList &  s)

Obtains a Vec3f from a string.

Parameters:
sthe string describing the Vector with the form "x,y,z"
Returns:
The corresponding vector
Deprecated:
Use the >> operator from Vec3f class
QString StelUtils::vec3fToHtmlColor ( const Vec3f v)

Converts a Vec3f to HTML color notation.

Parameters:
vThe vector
Returns:
The string in HTML color notation "#rrggbb".