Stellarium
0.20.4
|
#include <MinorPlanet.hpp>
Public Member Functions | |
MinorPlanet (const QString &englishName, double equatorialRadius, double oblateness, Vec3f halocolor, float albedo, float roughness, const QString &texMapName, const QString &normalMapName, const QString &objModelName, posFuncType _coordFunc, KeplerOrbit *orbitPtr, OsculatingFunctType *osculatingFunc, bool closeOrbit, bool hidden, const QString &pTypeStr) | |
virtual float | getVMagnitude (const StelCore *core) const Q_DECL_OVERRIDE |
Return object's apparent V magnitude as seen from observer, without including extinction. | |
virtual void | translateName (const StelTranslator &trans) Q_DECL_OVERRIDE |
sets the nameI18 property with the appropriate translation. More... | |
virtual QString | getEnglishName (void) const Q_DECL_OVERRIDE |
Return object's name in english. | |
virtual QString | getNameI18n (void) const Q_DECL_OVERRIDE |
Return translated object's name. | |
void | setMinorPlanetNumber (int number) |
set the minor planet's number, if any. More... | |
void | setProvisionalDesignation (QString designation) |
sets a provisional designation. More... | |
void | setAbsoluteMagnitudeAndSlope (const float magnitude, const float slope) |
sets absolute magnitude (H) and slope parameter (G). More... | |
void | setSpectralType (QString sT="", QString sB="") |
set values for spectral types | |
void | setColorIndexBV (float bv=99.f) |
set value for color index B-V | |
virtual double | getSiderealPeriod () const Q_DECL_OVERRIDE |
get sidereal period for minor planet | |
Public Member Functions inherited from Planet | |
Planet (const QString &englishName, double equatorialRadius, double oblateness, Vec3f halocolor, float albedo, float roughness, const QString &texMapName, const QString &normalMapName, const QString &objModelName, posFuncType _coordFunc, Orbit *anOrbitPtr, OsculatingFunctType *osculatingFunc, bool closeOrbit, bool hidden, bool hasAtmosphere, bool hasHalo, const QString &pTypeStr) | |
virtual QString | getInfoString (const StelCore *core, const InfoStringGroup &flags) const Q_DECL_OVERRIDE |
Get a string with data about the Planet. More... | |
virtual QVariantMap | getInfoMap (const StelCore *core) const Q_DECL_OVERRIDE |
In addition to the entries from StelObject::getInfoMap(), Planet objects provide. More... | |
virtual double | getCloseViewFov (const StelCore *core) const Q_DECL_OVERRIDE |
Return the best FOV in degree to use for a close view of the object. | |
virtual double | getSatellitesFov (const StelCore *core) const Q_DECL_OVERRIDE |
Return the best FOV in degree to use for a global view of the object satellite system (if there are satellites) | |
virtual double | getParentSatellitesFov (const StelCore *core) const Q_DECL_OVERRIDE |
virtual float | getSelectPriority (const StelCore *core) const Q_DECL_OVERRIDE |
Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority. | |
virtual Vec3f | getInfoColor (void) const Q_DECL_OVERRIDE |
Get a color used to display info about the object. | |
virtual QString | getType (void) const Q_DECL_OVERRIDE |
Return object's type. It should be the name of the class. | |
virtual QString | getID (void) const Q_DECL_OVERRIDE |
Returns a unique identifier for this object. More... | |
virtual Vec3d | getJ2000EquatorialPos (const StelCore *core) const Q_DECL_OVERRIDE |
Get observer-centered equatorial coordinates at equinox J2000. | |
QString | getCommonEnglishName (void) const |
QString | getCommonNameI18n (void) const |
virtual double | getAngularSize (const StelCore *core) const Q_DECL_OVERRIDE |
Get angular semidiameter, degrees. If planet display is artificially enlarged (e.g. Moon upscale), value will also be increased. | |
virtual bool | hasAtmosphere (void) |
virtual bool | hasHalo (void) |
float | getAxisRotation (void) |
virtual void | draw (StelCore *core, float maxMagLabels, const QFont &planetNameFont) |
double | getEquatorialRadius (void) const |
Get the equator radius of the planet in AU. More... | |
double | getOneMinusOblateness (void) const |
Get the value (1-f) for oblateness f. | |
double | getPolarRadius (void) const |
Get the polar radius of the planet in AU. More... | |
double | getSiderealDay (void) const |
Get duration of sidereal day. | |
double | getMeanSolarDay (void) const |
Get duration of mean solar day, in earth days. | |
double | getAlbedo (void) const |
Get albedo. | |
const QString & | getTextMapName () const |
const QString | getPlanetTypeString () const |
PlanetType | getPlanetType () const |
Orbit * | getOrbit () const |
void | setNativeName (QString planet) |
void | setIAUMoonNumber (QString designation) |
set the IAU moon number (designation of the moon), if any. | |
float | getAbsoluteMagnitude () const |
Return the absolute magnitude (read from file ssystem.ini) | |
float | getMeanOppositionMagnitude () const |
Return the mean opposition magnitude, defined as V(1,0)+5log10(a(a-1)) A return value of 100 signals invalid result. More... | |
double | getSiderealTime (double JD, double JDE) const |
Compute the z rotation to use from equatorial to geographic coordinates. More... | |
Mat4d | getRotEquatorialToVsop87 (void) const |
void | setRotEquatorialToVsop87 (const Mat4d &m) |
const RotationElements & | getRotationElements (void) const |
void | setRotationElements (float _period, float _offset, double _epoch, float _obliquity, float _ascendingNode, float _precessionRate, double _siderealPeriod) |
double | getRotAscendingNode (void) const |
double | getRotObliquity (double JDE) const |
virtual void | computePosition (const double dateJDE) |
Compute the position in the parent Planet coordinate system. | |
void | computeTransMatrix (double JD, double JDE) |
Compute the transformation matrix from the local Planet coordinate to the parent Planet coordinate. More... | |
double | getPhaseAngle (const Vec3d &obsPos) const |
Get the phase angle (radians) for an observer at pos obsPos in heliocentric coordinates (in AU) | |
double | getElongation (const Vec3d &obsPos) const |
Get the elongation angle (radians) for an observer at pos obsPos in heliocentric coordinates (in AU) | |
double | getSpheroidAngularSize (const StelCore *core) const |
Get the angular radius (degrees) of the planet spheroid (i.e. without the rings) | |
float | getPhase (const Vec3d &obsPos) const |
Get the planet phase (illuminated fraction of the planet disk, [0=dark..1=full]) for an observer at pos obsPos in heliocentric coordinates (in AU) | |
Vec3d | getEclipticPos (double dateJDE) const |
Get the Planet position in the parent Planet ecliptic coordinate in AU. | |
Vec3d | getEclipticPos () const |
Vec3d | getHeliocentricEclipticPos () const |
Return the heliocentric ecliptical position. | |
Vec3d | getHeliocentricEclipticPos (double dateJDE) const |
Vec3d | getHeliocentricPos (Vec3d p) const |
Return the heliocentric transformation for local (parentocentric) coordinate. More... | |
void | setHeliocentricEclipticPos (const Vec3d &pos) |
Propagate the heliocentric coordinates to parentocentric coordinates. More... | |
Vec3d | getEclipticVelocity () const |
Get the planet velocity around the parent planet in ecliptical coordinates in AU/d. | |
Vec3d | getHeliocentricEclipticVelocity () const |
Get the planet's heliocentric velocity in the solar system in ecliptical coordinates in AU/d. Required for aberration! | |
double | computeDistance (const Vec3d &obsHelioPos) |
Compute and return the distance to the given position in heliocentric ecliptical (J2000) coordinates (in AU) | |
double | getDistance (void) const |
Return the last computed distance to the given position in heliocentric ecliptical (J2000) coordinates (in AU) | |
void | setRings (Ring *r) |
void | setSphereScale (double s) |
double | getSphereScale () const |
const QSharedPointer< Planet > | getParent (void) const |
virtual void | update (int deltaTime) |
void | setFlagHints (bool b) |
bool | getFlagHints (void) const |
void | setFlagLabels (bool b) |
bool | getFlagLabels (void) const |
void | setFlagNativeName (bool b) |
bool | getFlagNativeName (void) const |
void | setFlagTranslatedName (bool b) |
bool | getFlagTranslatedName (void) const |
void | setFlagOrbits (bool b) |
bool | getFlagOrbits (void) const |
void | drawOrbit (const StelCore *) |
QVector< const Planet * > | getCandidatesForShadow () const |
Return the list of planets which project some shadow on this planet. | |
Public Member Functions inherited from StelObject | |
virtual SphericalRegionP | getRegion () const |
Default implementation of the getRegion method. More... | |
virtual Vec3d | getPointInRegion () const |
Default implementation of the getPointInRegion method. More... | |
Vec3d | getEquinoxEquatorialPos (const StelCore *core) const |
Get observer-centered equatorial coordinate at the current equinox The frame has its Z axis at the planet's current rotation axis At time 2000-01-01 this frame is almost the same as J2000, but ONLY if the observer is on earth. | |
Vec3d | getEquinoxEquatorialPosApparent (const StelCore *core) const |
Like getEquinoxEquatorialPos(core), but always adds refraction correction to the position. | |
Vec3d | getEquinoxEquatorialPosAuto (const StelCore *core) const |
Like getEquinoxEquatorialPos(core), but adds refraction correction to the position if atmosphere is active. | |
Vec3d | getGalacticPos (const StelCore *core) const |
Get observer-centered galactic coordinates. | |
Vec3d | getSupergalacticPos (const StelCore *core) const |
Get observer-centered supergalactic coordinates. | |
Vec3d | getSiderealPosGeometric (const StelCore *core) const |
Get observer-centered hour angle + declination (at current equinox) It is the geometric position, i.e. More... | |
Vec3d | getSiderealPosApparent (const StelCore *core) const |
Get observer-centered hour angle + declination (at current equinox) It is the apparent position, i.e. More... | |
Vec3d | getAltAzPosGeometric (const StelCore *core) const |
Get observer-centered alt/az position It is the geometric position, i.e. More... | |
Vec3d | getAltAzPosApparent (const StelCore *core) const |
Get observer-centered alt/az position It is the apparent position, i.e. More... | |
Vec3d | getAltAzPosAuto (const StelCore *core) const |
Get observer-centered alt/az position It is the automatic position, i.e. More... | |
float | getParallacticAngle (const StelCore *core) const |
Get parallactic angle, which is the deviation between zenith angle and north angle. [radians]. | |
bool | isAboveHorizon (const StelCore *core) const |
Checking position an object above mathematical horizon for current location. More... | |
bool | isAboveRealHorizon (const StelCore *core) const |
Checking position an object above real horizon for current location. More... | |
Vec3f | getRTSTime (StelCore *core) const |
Get today's time of rise, transit and set for celestial object for current location. More... | |
float | getVMagnitudeWithExtinction (const StelCore *core) const |
Return object's apparent V magnitude as seen from observer including extinction. More... | |
Static Public Member Functions | |
static QString | renderProvisionalDesignationinHtml (QString plainText) |
renders the subscript in a minor planet provisional designation with HTML. More... | |
Static Public Member Functions inherited from Planet | |
static void | init () |
Initializes static vars. Must be called before creating first planet. | |
static ApparentMagnitudeAlgorithm | getApparentMagnitudeAlgorithm () |
static const QString | getApparentMagnitudeAlgorithmString () |
static void | setApparentMagnitudeAlgorithm (QString algorithm) |
static void | setApparentMagnitudeAlgorithm (ApparentMagnitudeAlgorithm algorithm) |
static float | getPAsun (const Vec3d &sunPos, const Vec3d &objPos) |
Get the position angle of the illuminated limb of a planet The result depends on the arguments' coordinate system which must be identical. More... | |
static void | setLabelColor (const Vec3f &lc) |
static const Vec3f & | getLabelColor (void) |
static void | setOrbitColor (const Vec3f &oc) |
static const Vec3f & | getOrbitColor () |
static void | setMajorPlanetOrbitColor (const Vec3f &oc) |
static const Vec3f & | getMajorPlanetOrbitColor () |
static void | setMoonOrbitColor (const Vec3f &oc) |
static const Vec3f & | getMoonOrbitColor () |
static void | setMinorPlanetOrbitColor (const Vec3f &oc) |
static const Vec3f & | getMinorPlanetOrbitColor () |
static void | setDwarfPlanetOrbitColor (const Vec3f &oc) |
static const Vec3f & | getDwarfPlanetOrbitColor () |
static void | setCubewanoOrbitColor (const Vec3f &oc) |
static const Vec3f & | getCubewanoOrbitColor () |
static void | setPlutinoOrbitColor (const Vec3f &oc) |
static const Vec3f & | getPlutinoOrbitColor () |
static void | setScatteredDiscObjectOrbitColor (const Vec3f &oc) |
static const Vec3f & | getScatteredDiscObjectOrbitColor () |
static void | setOortCloudObjectOrbitColor (const Vec3f &oc) |
static const Vec3f & | getOortCloudObjectOrbitColor () |
static void | setCometOrbitColor (const Vec3f &oc) |
static const Vec3f & | getCometOrbitColor () |
static void | setSednoidOrbitColor (const Vec3f &oc) |
static const Vec3f & | getSednoidOrbitColor () |
static void | setInterstellarOrbitColor (const Vec3f &oc) |
static const Vec3f & | getInterstellarOrbitColor () |
static void | setMercuryOrbitColor (const Vec3f &oc) |
static const Vec3f & | getMercuryOrbitColor () |
static void | setVenusOrbitColor (const Vec3f &oc) |
static const Vec3f & | getVenusOrbitColor () |
static void | setEarthOrbitColor (const Vec3f &oc) |
static const Vec3f & | getEarthOrbitColor () |
static void | setMarsOrbitColor (const Vec3f &oc) |
static const Vec3f & | getMarsOrbitColor () |
static void | setJupiterOrbitColor (const Vec3f &oc) |
static const Vec3f & | getJupiterOrbitColor () |
static void | setSaturnOrbitColor (const Vec3f &oc) |
static const Vec3f & | getSaturnOrbitColor () |
static void | setUranusOrbitColor (const Vec3f &oc) |
static const Vec3f & | getUranusOrbitColor () |
static void | setNeptuneOrbitColor (const Vec3f &oc) |
static const Vec3f & | getNeptuneOrbitColor () |
Protected Member Functions | |
virtual QString | getInfoStringName (const StelCore *core, const InfoStringGroup &flags) const Q_DECL_OVERRIDE |
virtual QString | getInfoStringExtraMag (const StelCore *core, const InfoStringGroup &flags) const Q_DECL_OVERRIDE |
Any flag=Extra information to be displayed after the magnitude strings. | |
virtual QString | getInfoStringExtra (const StelCore *core, const InfoStringGroup &flags) const Q_DECL_OVERRIDE |
Any flag=Extra information to be displayed at the end. | |
Protected Member Functions inherited from Planet | |
virtual QString | getInfoStringAbsoluteMagnitude (const StelCore *core, const InfoStringGroup &flags) const |
virtual QString | getInfoStringSize (const StelCore *core, const InfoStringGroup &flags) const |
Any flag=Size information to be displayed. | |
virtual QString | getInfoStringEloPhase (const StelCore *core, const InfoStringGroup &flags, const bool withIllum) const |
Return elongation and phase angle when flags=Elongation. | |
virtual QString | getInfoStringPeriods (const StelCore *core, const InfoStringGroup &flags) const |
Return sidereal and synodic periods when flags=Extra. | |
void | computeModelMatrix (Mat4d &result) const |
void | computeOrbit () |
Update the orbit position values. | |
Vec3f | getCurrentOrbitColor () const |
QString | getSkyLabel (const StelCore *core) const |
void | draw3dModel (StelCore *core, StelProjector::ModelViewTranformP transfo, float screenSz, bool drawOnlyRing=false) |
bool | drawObjModel (StelPainter *painter, float screenSz) |
bool | drawObjShadowMap (StelPainter *painter, QMatrix4x4 &shadowMatrix) |
bool | ensureObjLoaded () |
Starts the OBJ loading process, if it has not been done yet. More... | |
void | drawSphere (StelPainter *painter, float screenSz, bool drawOnlyRing=false) |
void | drawSurvey (StelCore *core, StelPainter *painter) |
void | drawHints (const StelCore *core, const QFont &planetNameFont) |
PlanetOBJModel * | loadObjModel () const |
Protected Member Functions inherited from StelObject | |
QString | getCommonInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Format the positional info string containing J2000/of date/altaz/hour angle positions and constellation, sidereal time, etc. More... | |
virtual QString | getMagnitudeInfoString (const StelCore *core, const InfoStringGroup &flags, const double alt_app, const int decimals=1) const |
Format the magnitude info string for the object. More... | |
void | postProcessInfoString (QString &str, const InfoStringGroup &flags) const |
Apply post processing on the info string. More... | |
Additional Inherited Members | |
Public Types inherited from Planet | |
enum | PlanetType { isStar, isPlanet, isMoon, isObserver, isArtificial, isAsteroid, isPlutino, isComet, isDwarfPlanet, isCubewano, isSDO, isOCO, isSednoid, isInterstellar, isUNDEFINED } |
numeric typecodes for the type descriptions in ssystem.ini | |
enum | PlanetOrbitColorStyle { ocsOneColor, ocsGroups, ocsMajorPlanets } |
enum | ApparentMagnitudeAlgorithm { Mueller_1893, AstronomicalAlmanac_1984, ExplanatorySupplement_1992, ExplanatorySupplement_2013, UndefinedAlgorithm, Generic } |
Public Types inherited from StelObject | |
enum | InfoStringGroupFlags { None = 0x00000000, Name = 0x00000001, CatalogNumber = 0x00000002, Magnitude = 0x00000004, RaDecJ2000 = 0x00000008, RaDecOfDate = 0x00000010, AltAzi = 0x00000020, Distance = 0x00000040, Elongation = 0x00000080, Size = 0x00000100, Velocity = 0x00000200, ProperMotion = 0x00000400, Extra = 0x00000800, HourAngle = 0x00001000, AbsoluteMagnitude = 0x00002000, GalacticCoord = 0x00004000, SupergalacticCoord = 0x00008000, OtherCoord = 0x00010000, ObjectType = 0x00020000, EclipticCoordJ2000 = 0x00040000, EclipticCoordOfDate = 0x00080000, IAUConstellation = 0x00100000, SiderealTime = 0x00200000, RTSTime = 0x00400000, Script = 0x00800000, DebugAid = 0x01000000, NoFont = 0x02000000, PlainText = 0x04000000 } |
Used as named bitfield flags as specifiers to filter results of getInfoString. More... | |
Public Slots inherited from StelObject | |
virtual void | setExtraInfoString (const InfoStringGroup &flags, const QString &str) |
Allow additions to the Info String. More... | |
virtual void | addToExtraInfoString (const StelObject::InfoStringGroup &flags, const QString &str) |
Add str to the extra string. More... | |
QStringList | getExtraInfoStrings (const InfoStringGroup &flags) const |
Retrieve an (unsorted) QStringList of all extra info strings that match flags. More... | |
void | removeExtraInfoStrings (const InfoStringGroup &flags) |
Remove the extraInfoStrings with the given flags. More... | |
Data Fields inherited from Planet | |
bool | flagNativeName |
bool | flagTranslatedName |
LinearFader | orbitFader |
Vec3d | orbit [ORBIT_SEGMENTS+1] |
double | deltaJDE |
double | deltaOrbitJDE |
bool | closeOrbit |
Static Public Attributes inherited from Planet | |
static const QString | PLANET_TYPE |
static Vec3f | orbitColor |
static Vec3f | orbitMajorPlanetsColor |
static Vec3f | orbitMoonsColor |
static Vec3f | orbitMinorPlanetsColor |
static Vec3f | orbitDwarfPlanetsColor |
static Vec3f | orbitCubewanosColor |
static Vec3f | orbitPlutinosColor |
static Vec3f | orbitScatteredDiscObjectsColor |
static Vec3f | orbitOortCloudObjectsColor |
static Vec3f | orbitCometsColor |
static Vec3f | orbitSednoidsColor |
static Vec3f | orbitInterstellarColor |
static Vec3f | orbitMercuryColor |
static Vec3f | orbitVenusColor |
static Vec3f | orbitEarthColor |
static Vec3f | orbitMarsColor |
static Vec3f | orbitJupiterColor |
static Vec3f | orbitSaturnColor |
static Vec3f | orbitUranusColor |
static Vec3f | orbitNeptuneColor |
static PlanetOrbitColorStyle | orbitColorStyle |
Static Public Attributes inherited from StelObject | |
static const InfoStringGroupFlags | AllInfo |
A pre-defined set of specifiers for the getInfoString flags argument to getInfoString. More... | |
static const InfoStringGroupFlags | ShortInfo = static_cast<InfoStringGroupFlags>(Name|CatalogNumber|Magnitude|RaDecJ2000) |
A pre-defined set of specifiers for the getInfoString flags argument to getInfoString. | |
Protected Attributes inherited from Planet | |
QString | englishName |
QString | nameI18 |
QString | nativeName |
QString | texMapName |
QString | normalMapName |
RotationElements | re |
double | equatorialRadius |
double | oneMinusOblateness |
Vec3d | eclipticPos |
Vec3d | eclipticVelocity |
Vec3d | screenPos |
Vec3f | haloColor |
float | absoluteMagnitude |
float | albedo |
float | roughness |
float | outgas_intensity |
float | outgas_falloff |
Mat4d | rotLocalToParent |
float | axisRotation |
StelTextureSP | texMap |
StelTextureSP | normalMap |
PlanetOBJModel * | objModel |
QFuture< PlanetOBJModel * > * | objModelLoader |
QString | objModelPath |
HipsSurveyP | survey |
Ring * | rings |
double | distance |
double | sphereScale |
double | lastJDE |
posFuncType | coordFunc |
Orbit * | orbitPtr |
OsculatingFunctType *const | osculatingFunc |
QSharedPointer< Planet > | parent |
QList< QSharedPointer< Planet > > | satellites |
LinearFader | hintFader |
LinearFader | labelsFader |
bool | flagLabels |
bool | hidden |
bool | atmosphere |
bool | halo |
PlanetType | pType |
bool | multisamplingEnabled_ |
QOpenGLFunctions * | gl |
Static Protected Attributes inherited from Planet | |
static StelTextureSP | texEarthShadow |
static ApparentMagnitudeAlgorithm | vMagAlgorithm |
static bool | shaderError |
static Vec3f | labelColor |
static StelTextureSP | hintCircleTex |
static const QMap< PlanetType, QString > | pTypeMap |
static const QMap< ApparentMagnitudeAlgorithm, QString > | vMagAlgorithmMap |
static bool | drawMoonHalo |
static bool | permanentDrawingOrbits |
If true, planet orbits will be drawn even if planet is off screen. | |
static bool | flagCustomGrsSettings |
static double | customGrsJD |
static int | customGrsLongitude |
static double | customGrsDrift |
static int | orbitsThickness |
This class implements a minor planet (an asteroid).
There are two main reasons for having a separate class from Planet:
Some of the code in this class is re-used from the parent Planet class.
|
static |
void MinorPlanet::setAbsoluteMagnitudeAndSlope | ( | const float | magnitude, |
const float | slope | ||
) |
These are the parameters in the IAU's two-parameter magnitude system for minor planets. They are used to calculate the apparent magnitude at different phase angles.
magnitude | Absolute magnitude H |
slope | Slope parameter G. This is usually [0..1], sometimes slightly outside. Allowed here [-1..2]. |
void MinorPlanet::setMinorPlanetNumber | ( | int | number | ) |
The number should be specified as an additional parameter, as englishName is passed as a constant to Planet's constructor. The number can be set only once. Any further calls of this function will have no result.
void MinorPlanet::setProvisionalDesignation | ( | QString | designation | ) |
At the moment, the only role is for it to be displayed in the info field.
|
virtual |
Function overridden to handle the problem with name conflicts.
Reimplemented from Planet.