KSPlanetBase
#include <ksplanetbase.h>
Public Types | |
enum | Planets { MERCURY = 0 , VENUS = 1 , MARS = 2 , JUPITER = 3 , SATURN = 4 , URANUS = 5 , NEPTUNE = 6 , SUN = 7 , MOON = 8 , EARTH_SHADOW = 9 , UNKNOWN_PLANET } |
Public Types inherited from SkyObject | |
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 , NUMBER_OF_KNOWN_TYPES = 21 , TYPE_UNKNOWN = 255 } |
typedef qint64 | UID |
Static Public Member Functions | |
static KSPlanetBase * | createPlanet (int n) |
Static Public Member Functions inherited from TrailObject | |
static void | clearTrailsExcept (SkyObject *o) |
Static Public Member Functions inherited from SkyObject | |
static QString | typeName (const int t) |
Static Public Member Functions inherited from SkyPoint | |
static dms | findAltitude (const SkyPoint *p, const KStarsDateTime &dt, const GeoLocation *geo, const double hour=0) |
static dms | refract (const dms alt, bool conditional=true) |
static double | refract (const double alt, bool conditional=true) |
static double | refractionCorr (double alt) |
static SkyPoint | timeTransformed (const SkyPoint *p, const KStarsDateTime &dt, const GeoLocation *geo, const double hour=0) |
static dms | unrefract (const dms alt, bool conditional=true) |
static double | unrefract (const double alt, bool conditional=true) |
Static Public Attributes | |
static QVector< QColor > | planetColor |
Static Public Attributes inherited from TrailObject | |
static const int | MaxTrail = 400 |
Static Public Attributes inherited from SkyObject | |
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 Public Attributes inherited from SkyPoint | |
static const double | altCrit = -1.0 |
static bool | implementationIsLibnova = false |
Protected Member Functions | |
virtual double | findAngularSize () |
virtual bool | findGeocentricPosition (const KSNumbers *num, const KSPlanetBase *Earth=nullptr)=0 |
virtual void | findMagnitude (const KSNumbers *num)=0 |
void | findPA (const KSNumbers *num) |
virtual void | findPhase () |
UID | solarsysUID (UID type) const |
Protected Member Functions inherited from SkyObject | |
void | setMag (float m) |
void | setName (const QString &name) |
void | setName2 (const QString &name2=QString()) |
Protected Member Functions inherited from SkyPoint | |
void | precess (const KSNumbers *num) |
Protected Attributes | |
EclipticPosition | ep |
EclipticPosition | helEcPos |
QImage | m_image |
double | Phase {NaN::d} |
double | Rearth {NaN::d} |
Protected Attributes inherited from TrailObject | |
QList< QString > | m_TrailLabels |
QList< SkyPoint > | Trail |
Protected Attributes inherited from SkyObject | |
bool | has_been_updated = true |
QString | LongName |
QString | Name |
QString | Name2 |
Protected Attributes inherited from SkyPoint | |
double | lastPrecessJD { 0 } |
Static Protected Attributes | |
static const UID | UID_SOL_ASTEROID = 1 |
static const UID | UID_SOL_BIGOBJ = 0 |
static const UID | UID_SOL_COMET = 2 |
Static Protected Attributes inherited from TrailObject | |
static QSet< TrailObject * > | trailObjects |
Detailed Description
A subclass of TrailObject that provides additional information needed for most solar system objects.
This is a base class for KSSun, KSMoon, KSPlanet, KSAsteroid and KSComet. Those classes cover all solar system objects except planetary moons, which are derived directly from TrailObject
Provides necessary information about objects in the solar system.
- Version
- 1.0
Definition at line 49 of file ksplanetbase.h.
Member Enumeration Documentation
◆ Planets
enum KSPlanetBase::Planets |
Definition at line 69 of file ksplanetbase.h.
Constructor & Destructor Documentation
◆ KSPlanetBase()
|
explicit |
Constructor.
Calls SkyObject constructor with type=2 (planet), coordinates=0.0, mag=0.0, primary name s, and all other QStrings empty.
- Parameters
-
s Name of planet image_file filename of the planet's image c color of the symbol to use for this planet pSize the planet's physical size, in km
Definition at line 37 of file ksplanetbase.cpp.
◆ ~KSPlanetBase()
|
overridedefault |
Destructor (empty)
Member Function Documentation
◆ angSize()
|
inline |
- Returns
- the Planet's angular size, in arcminutes
Definition at line 184 of file ksplanetbase.h.
◆ color()
|
inline |
- Returns
- the color for the planet symbol
Definition at line 203 of file ksplanetbase.h.
◆ createPlanet()
|
static |
Definition at line 53 of file ksplanetbase.cpp.
◆ ecLat()
- Returns
- pointer to Ecliptic Latitude coordinate
Definition at line 94 of file ksplanetbase.h.
◆ EclipticToEquatorial()
void KSPlanetBase::EclipticToEquatorial | ( | const CachingDms * | Obliquity | ) |
Convert Ecliptic longitude/latitude to Right Ascension/Declination.
Definition at line 81 of file ksplanetbase.cpp.
◆ ecLong()
- Returns
- pointer to Ecliptic Longitude coordinate
Definition at line 91 of file ksplanetbase.h.
◆ EquatorialToEcliptic()
void KSPlanetBase::EquatorialToEcliptic | ( | const CachingDms * | Obliquity | ) |
Convert Right Ascension/Declination to Ecliptic longitude/latitude.
Definition at line 76 of file ksplanetbase.cpp.
◆ findAngularSize()
|
inlineprotectedvirtual |
Reimplemented in KSEarthShadow.
Definition at line 252 of file ksplanetbase.h.
◆ findGeocentricPosition()
|
protectedpure virtual |
find the object's current geocentric equatorial coordinates (RA and Dec) This function is pure virtual; it must be overloaded by subclasses.
This function is private; it is called by the public function findPosition() which also includes the figure-of-the-earth correction, localizeCoords().
- Parameters
-
num pointer to current KSNumbers object Earth pointer to planet Earth (needed to calculate geocentric coords)
- Returns
- true if position was successfully calculated.
Implemented in KSEarthShadow, KSMoon, KSAsteroid, KSComet, KSPlanet, KSPluto, and KSSun.
◆ findMagnitude()
Computes the visual magnitude for the major planets.
- Parameters
-
num pointer to a ksnumbers object. Needed for the saturn rings contribution to saturn's magnitude.
Implemented in KSEarthShadow.
◆ findPA()
Determine the position angle of the planet for a given date (used internally by findPosition() )
Definition at line 240 of file ksplanetbase.cpp.
◆ findPhase()
|
protectedvirtual |
Determine the phase of the planet.
Reimplemented in KSMoon, and KSEarthShadow.
Definition at line 282 of file ksplanetbase.cpp.
◆ findPosition()
void KSPlanetBase::findPosition | ( | const KSNumbers * | num, |
const CachingDms * | lat = nullptr, | ||
const CachingDms * | LST = nullptr, | ||
const KSPlanetBase * | Earth = nullptr ) |
Find position, including correction for Figure-of-the-Earth.
- Parameters
-
num KSNumbers pointer for the target date/time lat pointer to the geographic latitude; if nullptr, we skip localizeCoords() LST pointer to the local sidereal time; if nullptr, we skip localizeCoords() Earth pointer to the Earth (not used for the Moon)
Definition at line 109 of file ksplanetbase.cpp.
◆ helEcLat()
- Returns
- pointer to Ecliptic Heliocentric Latitude coordinate
Definition at line 112 of file ksplanetbase.h.
◆ helEcLong()
- Returns
- pointer to Ecliptic Heliocentric Longitude coordinate
Definition at line 109 of file ksplanetbase.h.
◆ image()
- Returns
- pointer to this planet's texture
Definition at line 127 of file ksplanetbase.h.
◆ init()
void KSPlanetBase::init | ( | const QString & | s, |
const QString & | image_file, | ||
const QColor & | c, | ||
double | pSize ) |
Definition at line 43 of file ksplanetbase.cpp.
◆ isMajorPlanet()
bool KSPlanetBase::isMajorPlanet | ( | ) | const |
- Returns
- true if the KSPlanet is one of the eight major planets
Definition at line 144 of file ksplanetbase.cpp.
◆ labelOffset()
|
overridevirtual |
- Returns
- the pixel distance for offseting the object's name label
Reimplemented from SkyObject.
Definition at line 262 of file ksplanetbase.cpp.
◆ loadData()
|
pure virtual |
Implemented in KSAsteroid, KSComet, KSMoon, KSPlanet, and KSSun.
◆ pa()
|
inlineoverridevirtual |
- Returns
- the Planet's position angle.
Reimplemented from SkyObject.
Definition at line 175 of file ksplanetbase.h.
◆ phase()
|
inline |
- Returns
- the phase angle of this planet
Definition at line 200 of file ksplanetbase.h.
◆ physicalSize()
|
inline |
- Returns
- the Planet's physical size, in km
Definition at line 192 of file ksplanetbase.h.
◆ rearth()
|
inline |
- Returns
- distance from Earth, in Astronomical Units (1 AU is Earth-Sun distance)
Definition at line 139 of file ksplanetbase.h.
◆ rsun()
|
inline |
- Returns
- distance from Sun, in Astronomical Units (1 AU is Earth-Sun distance)
Definition at line 130 of file ksplanetbase.h.
◆ setAngularSize()
|
inline |
set the planet's angular size, in km.
- Parameters
-
size the planet's size, in km
Definition at line 189 of file ksplanetbase.h.
◆ setColor()
Set the color for the planet symbol.
Definition at line 206 of file ksplanetbase.h.
◆ setEcLat()
|
inline |
Set Ecliptic Geocentric Latitude according to argument.
- Parameters
-
elat Ecliptic Latitude
Definition at line 106 of file ksplanetbase.h.
◆ setEcLong()
|
inline |
Set Ecliptic Geocentric Longitude according to argument.
- Parameters
-
elong Ecliptic Longitude
Definition at line 100 of file ksplanetbase.h.
◆ setPA()
|
inline |
Set the Planet's position angle.
- Parameters
-
p the new position angle
Definition at line 181 of file ksplanetbase.h.
◆ setPhysicalSize()
|
inline |
set the planet's physical size, in km.
- Parameters
-
size the planet's size, in km
Definition at line 197 of file ksplanetbase.h.
◆ setRearth() [1/2]
void KSPlanetBase::setRearth | ( | const KSPlanetBase * | Earth | ) |
compute and set the distance from Earth, in AU.
- Parameters
-
Earth pointer to the Earth from which to calculate the distance.
Definition at line 197 of file ksplanetbase.cpp.
◆ setRearth() [2/2]
|
inline |
Set the distance from Earth, in AU.
- Parameters
-
r the new earth-distance in AU
Definition at line 145 of file ksplanetbase.h.
◆ setRsun()
|
inline |
Set the solar distance in AU.
- Parameters
-
r the new solar distance in AU
Definition at line 136 of file ksplanetbase.h.
◆ solarsysUID()
Compute high 32-bits of UID.
Definition at line 223 of file ksplanetbase.h.
◆ updateCoords()
|
overridevirtual |
Update position of the planet (reimplemented from SkyPoint)
- Parameters
-
num current KSNumbers object includePlanets this function does nothing if includePlanets=false lat pointer to the geographic latitude; if nullptr, we skip localizeCoords() LST pointer to the local sidereal time; if nullptr, we skip localizeCoords() forceRecompute defines whether the data should be recomputed forcefully
Reimplemented from SkyPoint.
Definition at line 86 of file ksplanetbase.cpp.
Member Data Documentation
◆ ep
|
protected |
Definition at line 254 of file ksplanetbase.h.
◆ helEcPos
|
protected |
Definition at line 258 of file ksplanetbase.h.
◆ m_image
|
protected |
Definition at line 261 of file ksplanetbase.h.
◆ Phase
|
protected |
Definition at line 260 of file ksplanetbase.h.
◆ planetColor
◆ Rearth
|
protected |
Definition at line 259 of file ksplanetbase.h.
◆ UID_SOL_ASTEROID
|
staticprotected |
Asteroids.
Definition at line 218 of file ksplanetbase.h.
◆ UID_SOL_BIGOBJ
|
staticprotected |
◆ UID_SOL_COMET
|
staticprotected |
Comets.
Definition at line 220 of file ksplanetbase.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:19:04 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.