kstars
#include <kspluto.h>

Public Member Functions | |
KSPluto (const QString &fn=QString(), double pSize=0) | |
virtual | ~KSPluto () |
virtual KSPluto * | clone () const |
![]() | |
KSAsteroid (int catN, const QString &s, const QString &image_file, long double JD, double a, double e, dms i, dms w, dms N, dms M, double H, double G) | |
virtual | ~KSAsteroid () |
double | getAbsoluteMagnitude () |
float | getAlbedo () |
float | getDiameter () |
QString | getDimensions () |
double | getEarthMOID () |
QString | getOrbitClass () |
QString | getOrbitID () |
double | getPerihelion () |
float | getPeriod () |
float | getRotationPeriod () |
double | getSlopeParameter () |
virtual SkyObject::UID | getUID () const |
bool | isNEO () |
virtual bool | loadData () |
void | setAlbedo (float albedo) |
void | setDiameter (float diam) |
void | setDimensions (QString dim) |
void | setEarthMOID (double earth_moid) |
void | setNEO (bool neo) |
void | setOrbitClass (QString orbit_class) |
void | setOrbitID (QString orbit_id) |
void | setPerihelion (double perihelion) |
void | setPeriod (float per) |
void | setRotationPeriod (float rot_per) |
![]() | |
KSPlanetBase (const QString &s=i18n("unnamed"), const QString &image_file=QString(), const QColor &c=Qt::white, double pSize=0) | |
virtual | ~KSPlanetBase () |
double | angSize () const |
QColor & | color () |
const dms & | ecLat () const |
void | EclipticToEquatorial (const dms *Obliquity) |
const dms & | ecLong () const |
void | EquatorialToEcliptic (const dms *Obliquity) |
void | findPosition (const KSNumbers *num, const dms *lat=0, const dms *LST=0, const KSPlanetBase *Earth=0) |
const dms & | helEcLat () const |
const dms & | helEcLong () const |
const QImage & | image () |
void | init (const QString &s, const QString &image_file, const QColor &c, double pSize) |
bool | isMajorPlanet () const |
virtual double | labelOffset () const |
virtual double | pa () const |
dms | phase () |
double | physicalSize () const |
double | rearth () const |
double | rsun () const |
void | setAngularSize (double size) |
void | setColor (const QColor &c) |
void | setEcLat (dms elat) |
void | setEcLong (dms elong) |
void | setPA (double p) |
void | setPhysicalSize (double size) |
void | setRearth (double r) |
void | setRearth (const KSPlanetBase *Earth) |
void | setRsun (double r) |
virtual void | updateCoords (KSNumbers *num, bool includePlanets=true, const dms *lat=0, const dms *LST=0, bool forceRecompute=false) |
![]() | |
TrailObject (int t=TYPE_UNKNOWN, dms r=dms(0.0), dms d=dms(0.0), float m=0.0, const QString &n=QString()) | |
TrailObject (int t, double r, double d, float m=0.0, const QString &n=QString()) | |
virtual | ~TrailObject () |
void | addToTrail () |
void | clearTrail () |
void | clipTrail () |
void | drawTrail (SkyPainter *skyp) const |
bool | hasTrail () const |
const QList< SkyPoint > & | trail () const |
void | updateTrail (dms *LST, const dms *lat) |
![]() | |
SkyObject (int t=TYPE_UNKNOWN, dms r=dms(0.0), dms d=dms(0.0), float m=0.0, const QString &n=QString(), const QString &n2=QString(), const QString &lname=QString()) | |
SkyObject (int t, double r, double d, float m=0.0, const QString &n=QString(), const QString &n2=QString(), const QString &lname=QString()) | |
virtual | ~SkyObject () |
bool | hasAuxInfo () |
bool | hasLongName () const |
bool | hasName () const |
bool | hasName2 () const |
QStringList & | ImageList () |
QStringList & | ImageTitle () |
QStringList & | InfoList () |
QStringList & | InfoTitle () |
bool | isSolarSystem () const |
virtual QString | labelString () const |
virtual QString | longname (void) const |
float | mag (void) const |
float | mag (const QString &band) const |
QString | messageFromTitle (const QString &imageTitle) |
virtual QString | name (void) const |
QString | name2 (void) const |
QString & | notes () |
SkyPoint | recomputeCoords (const KStarsDateTime &dt, const GeoLocation *geo=0) |
QTime | riseSetTime (const KStarsDateTime &dt, const GeoLocation *geo, bool rst, bool exact=true) |
dms | riseSetTimeAz (const KStarsDateTime &dt, const GeoLocation *geo, bool rst) |
QTime | riseSetTimeUT (const KStarsDateTime &dt, const GeoLocation *geo, bool rst, bool exact=true) |
void | saveUserLog (const QString &newLog) |
void | setLongName (const QString &longname=QString()) |
void | setNotes (QString _notes) |
void | setType (int t) |
void | showPopupMenu (KSPopupMenu *pmenu, const QPoint &pos) |
dms | transitAltitude (const KStarsDateTime &dt, const GeoLocation *geo) |
QTime | transitTime (const KStarsDateTime &dt, const GeoLocation *geo) |
QTime | transitTimeUT (const KStarsDateTime &dt, const GeoLocation *geo) |
QString | translatedLongName () const |
QString | translatedName () const |
QString | translatedName2 () const |
int | type (void) const |
QString | typeName () const |
QString & | userLog () |
![]() | |
SkyPoint (const dms &r, const dms &d) | |
SkyPoint (double r, double d) | |
SkyPoint () | |
virtual | ~SkyPoint () |
void | aberrate (const KSNumbers *num) |
void | addEterms (void) |
const dms & | alt () const |
dms | altRefracted () const |
dms | angularDistanceTo (const SkyPoint *sp, double *const positionAngle=0) const |
void | apparentCoord (long double jd0, long double jdf) |
const dms & | az () const |
void | B1950ToJ2000 (void) |
bool | bendlight () |
bool | checkBendLight () |
bool | checkCircumpolar (const dms *gLat) |
const dms & | dec () const |
const dms & | dec0 () const |
SkyPoint | deprecess (const KSNumbers *num, long double epoch=J2000) |
void | Equatorial1950ToGalactic (dms &galLong, dms &galLat) |
void | EquatorialToHorizontal (const dms *LST, const dms *lat) |
SkyPoint | Eterms (void) |
void | findEcliptic (const dms *Obliquity, dms &EcLong, dms &EcLat) |
void | GalacticToEquatorial1950 (const dms *galLong, const dms *galLat) |
void | HorizontalToEquatorial (const dms *LST, const dms *lat) |
void | J2000ToB1950 (void) |
SkyPoint | moveAway (const SkyPoint &from, double dist) |
void | nutate (const KSNumbers *num) |
bool | operator== (SkyPoint &p) |
void | precessFromAnyEpoch (long double jd0, long double jdf) |
const dms & | ra () const |
const dms & | ra0 () const |
void | set (const dms &r, const dms &d) |
void | setAlt (dms alt) |
void | setAlt (double alt) |
void | setAz (dms az) |
void | setAz (double az) |
void | setDec (dms d) |
void | setDec (double d) |
void | setDec0 (dms d) |
void | setDec0 (double d) |
void | setFromEcliptic (const dms *Obliquity, const dms &EcLong, const dms &EcLat) |
void | setRA (dms r) |
void | setRA (double r) |
void | setRA0 (dms r) |
void | setRA0 (double r) |
void | subtractEterms (void) |
double | vGeocentric (double vhelio, long double jd) |
double | vGeoToVHelio (double vgeo, long double jd) |
double | vHeliocentric (double vlsr, long double jd) |
double | vHelioToVlsr (double vhelio, long double jd) |
double | vREarth (long double jd0) |
double | vRSite (double vsite[3]) |
double | vRSun (long double jd) |
double | vTopocentric (double vgeo, double vsite[3]) |
double | vTopoToVGeo (double vtopo, double vsite[3]) |
Protected Member Functions | |
virtual bool | findGeocentricPosition (const KSNumbers *num, const KSPlanetBase *Earth=NULL) |
![]() | |
void | set_a (double newa) |
void | set_e (double newe) |
void | set_i (double newi) |
void | set_M (double newM) |
void | set_N (double newN) |
void | set_P (double newP) |
void | set_w (double neww) |
void | setJD (long double jd) |
![]() | |
void | findPA (const KSNumbers *num) |
virtual void | findPhase () |
UID | solarsysUID (UID type) const |
![]() | |
void | setMag (float m) |
void | setMag (const QString &band, const double mag) |
void | setName (const QString &name) |
void | setName2 (const QString &name2=QString()) |
![]() | |
void | precess (const KSNumbers *num) |
Additional Inherited Members | |
![]() | |
enum | Planets { MERCURY =0, VENUS =1, MARS =2, JUPITER =3, SATURN =4, URANUS =5, NEPTUNE =6, PLUTO =7, SUN =8, MOON =9, UNKNOWN_PLANET } |
![]() | |
enum | TYPE { STAR =0, CATALOG_STAR =1, PLANET =2, OPEN_CLUSTER =3, GLOBULAR_CLUSTER =4, GASEOUS_NEBULA =5, PLANETARY_NEBULA =6, SUPERNOVA_REMNANT =7, GALAXY =8, COMET =9, ASTEROID =10, CONSTELLATION =11, MOON =12, ASTERISM =13, GALAXY_CLUSTER =14, DARK_NEBULA =15, QUASAR =16, MULT_STAR =17, RADIO_SOURCE =18, SATELLITE =19, SUPERNOVA =20, TYPE_UNKNOWN } |
typedef qint64 | UID |
![]() | |
static KSPlanetBase * | createPlanet (int n) |
![]() | |
static void | clearTrailsExcept (SkyObject *o) |
![]() | |
static QString | typeName (const int t) |
![]() | |
static double | refract (const double alt) |
static dms | refract (const dms alt) |
static double | refractionCorr (double alt) |
static double | unrefract (const double alt) |
static dms | unrefract (const dms alt) |
![]() | |
static QVector< QColor > | planetColor |
![]() | |
static const int | MaxTrail = 400 |
![]() | |
static const UID | invalidUID = ~0 |
static const UID | UID_DEEPSKY = 2 |
static const UID | UID_GALAXY = 1 |
static const UID | UID_SOLARSYS = 3 |
static const UID | UID_STAR = 0 |
![]() | |
static const double | altCrit = -1.0 |
![]() | |
EclipticPosition | ep |
EclipticPosition | helEcPos |
QImage | m_image |
double | Phase |
double | Rearth |
![]() | |
QList< SkyPoint > | Trail |
![]() | |
QSharedDataPointer< AuxInfo > | info |
QString | LongName |
QString | Name |
QString | Name2 |
![]() | |
long double | lastPrecessJD |
![]() | |
static const UID | UID_SOL_ASTEROID = 1 |
static const UID | UID_SOL_BIGOBJ = 0 |
static const UID | UID_SOL_COMET = 2 |
![]() | |
static QSet< TrailObject * > | trailObjects |
![]() | |
static QString | emptyString |
static QString | starString = QString("star") |
static QString | unnamedObjectString = QString(I18N_NOOP("unnamed object")) |
static QString | unnamedString = QString(I18N_NOOP("unnamed")) |
Detailed Description
A subclass of KSAsteroid that represents the planet Pluto.
Now, we are certainly NOT claiming that Pluto is an asteroid. However, the findPosition() routines of KSPlanet do not work properly for Pluto. We had been using a unique polynomial expansion for Pluto, but even this fails spectacularly for dates much more remote than a few hundred years. We consider it better to instead treat Pluto's orbit much more simply, using elliptical orbital elements as we do for asteroids. In order to improve the long-term accuracy of Pluto's position, we are also including linear approximations of the evolution of each orbital element with time.
The orbital element data (including the time-derivatives) come from the NASA/JPL website: http://ssd.jpl.nasa.gov/elem_planets.html
Provides necessary information about Pluto.
- Version
- 1.0
Constructor & Destructor Documentation
|
explicit |
Constructor.
Calls KSAsteroid constructor with name="Pluto", and fills in orbital element data (which is hard-coded for now).
- Parameters
-
kd pointer to the KStarsData object fn filename of Pluto's image pSize physical diameter of Pluto, in km
Definition at line 34 of file kspluto.cpp.
|
virtual |
Destructor (empty)
Definition at line 63 of file kspluto.cpp.
Member Function Documentation
|
virtual |
Create copy of object.
This method is virtual copy constructor. It allows for safe copying of objects. In other words, KSPlanet object stored in SkyObject pointer will be copied as KSPlanet. Each subclass of SkyObject MUST implement clone method.
- Returns
- pointer to newly allocated object. Caller takes full responsibility for deallocating it.
Reimplemented from KSAsteroid.
Definition at line 58 of file kspluto.cpp.
|
protectedvirtual |
A custom findPosition() function for Pluto.
Computes the values of the orbital elements on the requested date, and calls KSAsteroid::findGeocentricPosition() using those elements.
- Parameters
-
num time-dependent values for the desired date Earth planet Earth (needed to calculate geocentric coords)
- Returns
- true if position was successfully calculated.
Reimplemented from KSAsteroid.
Definition at line 68 of file kspluto.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:22 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.