Stellarium 0.15.2
|
#include <MinorPlanet.hpp>
Public Member Functions | |
MinorPlanet (const QString &englishName, int flagLighting, double radius, double oblateness, Vec3f halocolor, float albedo, const QString &texMapName, posFuncType _coordFunc, void *userDataPtr, OsculatingFunctType *osculatingFunc, bool closeOrbit, bool hidden, const QString &pTypeStr) | |
virtual QString | getInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Get a string with data about the MinorPlanet. More... | |
virtual float | getVMagnitude (const StelCore *core) const |
Return object's apparent V magnitude as seen from observer, without including extinction. More... | |
virtual void | translateName (const StelTranslator &trans) |
sets the nameI18 property with the appropriate translation. More... | |
virtual QString | getEnglishName (void) const |
Return object's name in english. More... | |
virtual QString | getNameI18n (void) const |
Return translated object's name. More... | |
void | setMinorPlanetNumber (int number) |
set the minor planet's number, if any. More... | |
void | setProvisionalDesignation (QString designation) |
sets a provisional designation. More... | |
void | setAbsoluteMagnitudeAndSlope (double magnitude, double slope) |
sets absolute magnitude (H) and slope parameter (G). More... | |
void | setSemiMajorAxis (double value) |
set value for semi-major axis in AU More... | |
double | getSiderealPeriod () const |
get sidereal period for minor planet More... | |
Public Member Functions inherited from Planet | |
Planet (const QString &englishName, int flagLighting, double radius, double oblateness, Vec3f halocolor, float albedo, const QString &texMapName, const QString &normalMapName, posFuncType _coordFunc, void *userDataPtr, OsculatingFunctType *osculatingFunc, bool closeOrbit, bool hidden, bool hasAtmosphere, bool hasHalo, const QString &pTypeStr) | |
virtual QVariantMap | getInfoMap (const StelCore *core) const |
In addition to the entries from StelObject::getInfoMap(), Planet objects provide. More... | |
virtual double | getCloseViewFov (const StelCore *core) const |
Return the best FOV in degree to use for a close view of the object. More... | |
virtual double | getSatellitesFov (const StelCore *core) const |
Return the best FOV in degree to use for a global view of the object satellite system (if there are satellites) More... | |
virtual double | getParentSatellitesFov (const StelCore *core) const |
virtual float | getSelectPriority (const StelCore *core) const |
Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority. More... | |
virtual Vec3f | getInfoColor (void) const |
Get a color used to display info about the object. More... | |
virtual QString | getType (void) const |
Return object's type. It should be the name of the class. More... | |
virtual Vec3d | getJ2000EquatorialPos (const StelCore *core) const |
Get observer-centered equatorial coordinates at equinox J2000. More... | |
virtual double | getAngularSize (const StelCore *core) const |
Get angular semidiameter, degrees. If planet display is artificially enlarged (e.g. Moon upscale), value will also be increased. More... | |
virtual bool | hasAtmosphere (void) |
virtual bool | hasHalo (void) |
virtual void | draw (StelCore *core, float maxMagLabels, const QFont &planetNameFont) |
double | getRadius (void) const |
Get the radius of the planet in AU. More... | |
double | getOneMinusOblateness (void) const |
Get the value (1-f) for oblateness f. More... | |
double | getSiderealDay (void) const |
Get duration of sidereal day. More... | |
double | getMeanSolarDay (void) const |
Get duration of mean solar day. More... | |
double | getAlbedo (void) const |
Get albedo. More... | |
const QString & | getTextMapName () const |
const QString | getPlanetTypeString () const |
PlanetType | getPlanetType () const |
void | setNativeName (QString planet) |
float | getAbsoluteMagnitude () const |
Return the absolute magnitude (read from file ssystem.ini) More... | |
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... | |
ApparentMagnitudeAlgorithm | getApparentMagnitudeAlgorithm () const |
const QString | getApparentMagnitudeAlgorithmString () const |
void | setApparentMagnitudeAlgorithm (QString algorithm) |
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 |
void | computePositionWithoutOrbits (const double dateJDE) |
Compute the position in the parent Planet coordinate system. More... | |
void | computePosition (const double dateJDE) |
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 (rad) for an observer at pos obsPos in heliocentric coordinates (in AU) More... | |
double | getElongation (const Vec3d &obsPos) const |
Get the elongation angle (rad) for an observer at pos obsPos in heliocentric coordinates (in AU) More... | |
double | getSpheroidAngularSize (const StelCore *core) const |
Get the angular size of the spheroid of the planet (i.e. without the rings) More... | |
float | getPhase (const Vec3d &obsPos) const |
Get the planet phase for an observer at pos obsPos in heliocentric coordinates (in AU) More... | |
Vec3d | getEclipticPos () const |
Get the Planet position in the parent Planet ecliptic coordinate in AU. More... | |
Vec3d | getHeliocentricEclipticPos () const |
Vec3d | getHeliocentricPos (Vec3d) const |
void | setHeliocentricEclipticPos (const Vec3d &pos) |
double | computeDistance (const Vec3d &obsHelioPos) |
double | getDistance (void) const |
void | setRings (Ring *r) |
void | setSphereScale (float s) |
float | getSphereScale (void) 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) |
void | setFlagTranslatedName (bool b) |
bool | getFlagTranslatedName (void) |
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. More... | |
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. More... | |
Vec3d | getEquinoxEquatorialPosApparent (const StelCore *core) const |
Like getEquinoxEquatorialPos(core), but always adds refraction correction to the position. More... | |
Vec3d | getEquinoxEquatorialPosAuto (const StelCore *core) const |
Like getEquinoxEquatorialPos(core), but adds refraction correction to the position if atmosphere is active. More... | |
Vec3d | getGalacticPos (const StelCore *core) const |
Get observer-centered galactic coordinates. More... | |
Vec3d | getSupergalacticPos (const StelCore *core) const |
Get observer-centered supergalactic coordinates. More... | |
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 | 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. 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 | 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 () |
Additional Inherited Members | |
Public Types inherited from Planet | |
enum | PlanetType { isStar, isPlanet, isMoon, isAsteroid, isPlutino, isComet, isDwarfPlanet, isCubewano, isSDO, isOCO, isSednoid, isUNDEFINED } |
numeric typecodes for the type descriptions in ssystem.ini More... | |
enum | PlanetOrbitColorStyle { ocsOneColor, ocsGroups, ocsMajorPlanets } |
enum | ApparentMagnitudeAlgorithm { Mueller_1893, Astr_Alm_1984, Expl_Sup_1992, Expl_Sup_2013, UndefinedAlgorithm, Generic } |
Public Types inherited from StelObject | |
enum | InfoStringGroupFlags { Name = 0x00000001, CatalogNumber = 0x00000002, Magnitude = 0x00000004, RaDecJ2000 = 0x00000008, RaDecOfDate = 0x00000010, AltAzi = 0x00000020, Distance = 0x00000040, Size = 0x00000080, Extra = 0x00000100, HourAngle = 0x00000200, AbsoluteMagnitude = 0x00000400, GalacticCoord = 0x00000800, SupergalacticCoord = 0x00001000, ObjectType = 0x00002000, EclipticCoordJ2000 = 0x00004000, EclipticCoordOfDate = 0x00008000, IAUConstellation = 0x00010000, SiderealTime = 0x00020000, NoFont = 0x00040000, PlainText = 0x00080000 } |
Used as named bitfield flags as specifiers to filter results of getInfoString. More... | |
Public Attributes inherited from Planet | |
bool | flagNativeName |
bool | flagTranslatedName |
LinearFader | orbitFader |
Vec3d | orbit [ORBIT_SEGMENTS+1] |
Vec3d | orbitP [ORBIT_SEGMENTS+1] |
double | lastOrbitJDE |
double | deltaJDE |
double | deltaOrbitJDE |
bool | orbitCached |
bool | closeOrbit |
Static Public Attributes inherited from Planet | |
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 | orbitMercuryColor |
static Vec3f | orbitVenusColor |
static Vec3f | orbitEarthColor |
static Vec3f | orbitMarsColor |
static Vec3f | orbitJupiterColor |
static Vec3f | orbitSaturnColor |
static Vec3f | orbitUranusColor |
static Vec3f | orbitNeptuneColor |
static bool | permanentDrawingOrbits |
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 = (InfoStringGroupFlags)(Name|CatalogNumber|Magnitude|RaDecJ2000) |
A pre-defined set of specifiers for the getInfoString flags argument to getInfoString. More... | |
Protected Member Functions inherited from Planet | |
void | computeModelMatrix (Mat4d &result) const |
Vec3f | getCurrentOrbitColor () |
QString | getSkyLabel (const StelCore *core) const |
void | draw3dModel (StelCore *core, StelProjector::ModelViewTranformP transfo, float screenSz, bool drawOnlyRing=false) |
void | drawSphere (StelPainter *painter, float screenSz, bool drawOnlyRing=false) |
void | drawHints (const StelCore *core, const QFont &planetNameFont) |
Protected Member Functions inherited from StelObject | |
QString | getPositionInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Format the positional info string contain J2000/of date/altaz/hour angle positions for the object. More... | |
void | postProcessInfoString (QString &str, const InfoStringGroup &flags) const |
Apply post processing on the info string. More... | |
Static Protected Member Functions inherited from Planet | |
static void | initShader () |
static void | deinitShader () |
Protected Attributes inherited from Planet | |
QString | englishName |
QString | nameI18 |
QString | nativeName |
QString | texMapName |
QString | normalMapName |
int | flagLighting |
RotationElements | re |
double | radius |
double | oneMinusOblateness |
Vec3d | eclipticPos |
Vec3d | screenPos |
Vec3d | previousScreenPos |
Vec3f | haloColor |
float | albedo |
float | absoluteMagnitude |
Mat4d | rotLocalToParent |
float | axisRotation |
StelTextureSP | texMap |
StelTextureSP | normalMap |
Ring * | rings |
double | distance |
float | sphereScale |
double | lastJDE |
posFuncType | coordFunc |
void * | userDataPtr |
OsculatingFunctType *const | osculatingFunc |
QSharedPointer< Planet > | parent |
QList< QSharedPointer< Planet > > | satellites |
LinearFader | hintFader |
LinearFader | labelsFader |
bool | flagLabels |
bool | hidden |
bool | atmosphere |
bool | halo |
PlanetType | pType |
ApparentMagnitudeAlgorithm | vMagAlgorithm |
Static Protected Attributes inherited from Planet | |
static StelTextureSP | texEarthShadow |
static Vec3f | labelColor |
static StelTextureSP | hintCircleTex |
static QMap< PlanetType, QString > | pTypeMap |
static QMap< ApparentMagnitudeAlgorithm, QString > | vMagAlgorithmMap |
static bool | flagCustomGrsSettings |
static double | customGrsJD |
static int | customGrsLongitude |
static double | customGrsDrift |
static PlanetShaderVars | planetShaderVars |
static QOpenGLShaderProgram * | planetShaderProgram |
static RingPlanetShaderVars | ringPlanetShaderVars |
static QOpenGLShaderProgram * | ringPlanetShaderProgram |
static MoonShaderVars | moonShaderVars |
static QOpenGLShaderProgram * | moonShaderProgram |
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.
Definition at line 38 of file MinorPlanet.hpp.
|
inlinevirtual |
Return object's name in english.
Reimplemented from Planet.
Definition at line 79 of file MinorPlanet.hpp.
|
virtual |
Get a string with data about the MinorPlanet.
Asteroids support the following InfoStringGroup flags:
core | the StelCore object |
flags | a set of InfoStringGroup items to include in the return value. |
Reimplemented from Planet.
|
inlinevirtual |
Return translated object's name.
Reimplemented from Planet.
Definition at line 80 of file MinorPlanet.hpp.
|
virtual |
get sidereal period for minor planet
Reimplemented from Planet.
|
virtual |
Return object's apparent V magnitude as seen from observer, without including extinction.
Reimplemented from Planet.
|
static |
renders the subscript in a minor planet provisional designation with HTML.
void MinorPlanet::setAbsoluteMagnitudeAndSlope | ( | double | magnitude, |
double | slope | ||
) |
sets absolute magnitude (H) and slope parameter (G).
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.
void MinorPlanet::setMinorPlanetNumber | ( | int | number | ) |
set the minor planet's number, if any.
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 | ) |
sets a provisional designation.
At the moment, the only role is for it to be displayed in the info field.
void MinorPlanet::setSemiMajorAxis | ( | double | value | ) |
set value for semi-major axis in AU
|
virtual |
sets the nameI18 property with the appropriate translation.
Function overriden to handle the problem with name conflicts.
Reimplemented from Planet.