Stellarium
1.2
|
Class which contains data about one Nomenclature entry from the IAU database at https://planetarynames.wr.usgs.gov/ There is a confusing variety of planetographic vs. More...
#include <NomenclatureItem.hpp>
Public Types | |
enum | NomenclatureItemType { niUNDEFINED = 0, niAlbedoFeature = 1, niArcus = 2, niAstrum = 3, niCatena = 4, niCavus = 5, niChaos = 6, niChasma = 7, niCollis = 8, niCorona = 9, niCrater = 10, niDorsum = 11, niEruptiveCenter = 12, niFacula = 13, niFarrum = 14, niFlexus = 15, niFluctus = 16, niFlumen = 17, niFretum = 18, niFossa = 19, niInsula = 20, niLabes = 21, niLabyrinthus = 22, niLacuna = 23, niLacus = 24, niLargeRingedFeature = 25, niLinea = 26, niLingula = 27, niMacula = 28, niMare = 29, niMensa = 30, niMons = 31, niOceanus = 32, niPalus = 33, niPatera = 34, niPlanitia = 35, niPlanum = 36, niPlume = 37, niPromontorium = 38, niRegio = 39, niRima = 40, niRupes = 41, niScopulus = 42, niSerpens = 43, niSulcus = 44, niSinus = 45, niTerra = 46, niTholus = 47, niUnda = 48, niVallis = 49, niVastitas = 50, niVirga = 51, niLandingSite = 52, niLenticula = 53, niReticulum = 54, niSatelliteFeature = 55, niTessera = 56, niSaxum = 57, niSpecialPointPole = 100, niSpecialPointEast = 101, niSpecialPointWest = 102, niSpecialPointCenter = 103, niSpecialPointSubSolar = 104 } |
enum | PlanetCoordinateOrientation { pcoPlanetographicWest360 = 0x000, pcoPlanetographicWest180 = 0x001, pcoPlanetographicEast360 = 0x010, pcoPlanetographicEast180 = 0x011, pcoPlanetocentricWest360 = 0x100, pcoPlanetocentricWest180 = 0x101, pcoPlanetocentricEast360 = 0x110, pcoPlanetocentricEast180 = 0x111 } |
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, SolarLunarPosition = 0x00800000, Script = 0x01000000, DebugAid = 0x02000000, NoFont = 0x04000000, PlainText = 0x08000000 } |
Used as named bitfield flags as specifiers to filter results of getInfoString. More... | |
Public Member Functions | |
NomenclatureItem (PlanetP nPlanet, int nId, const QString &nName, const QString &nContext, NomenclatureItemType nItemType, double nLatitude, double nLongitude, double nSize) | |
virtual QString | getType (void) const Q_DECL_OVERRIDE |
Get the type of object. | |
virtual QString | getObjectType (void) const Q_DECL_OVERRIDE |
Return object's type. It should be English lowercase name of the type of the object. | |
virtual QString | getObjectTypeI18n (void) const Q_DECL_OVERRIDE |
Return object's type. It should be translated lowercase name of the type of the object. | |
virtual QString | getID (void) const Q_DECL_OVERRIDE |
Returns a unique identifier for this object. More... | |
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 QString | getInfoString (const StelCore *core, const InfoStringGroup &flags) const Q_DECL_OVERRIDE |
Get an HTML string to describe the object. More... | |
virtual Vec3f | getInfoColor (void) const Q_DECL_OVERRIDE |
Get a color used to display info about the object. | |
virtual Vec3d | getJ2000EquatorialPos (const StelCore *) const Q_DECL_OVERRIDE |
Get observer-centered equatorial coordinates at equinox J2000. | |
virtual double | getAngularRadius (const StelCore *core) const Q_DECL_OVERRIDE |
Return the angular radius of a circle containing the feature as seen from the observer with the circle center assumed to be at getJ2000EquatorialPos(). More... | |
virtual QString | getNameI18n (void) const Q_DECL_OVERRIDE |
Get the localized name of nomenclature item. | |
virtual QString | getEnglishName (void) const Q_DECL_OVERRIDE |
Get the english name of nomenclature item. | |
virtual void | translateName (const StelTranslator &trans) |
Translate feature name using the passed translator. | |
virtual Vec4d | getRTSTime (const StelCore *core, const double altitude=0.) const Q_DECL_OVERRIDE |
Compute times of nearest rise, transit and set of the item's current Planet. More... | |
void | draw (StelCore *core, StelPainter *painter) |
NomenclatureItemType | getNomenclatureType () const |
void | setFlagHideLocalNomenclature (bool b) |
bool | getFlagHideLocalNomenclature () const |
void | setFlagShowSpecialNomenclatureOnly (bool b) |
bool | getFlagShowSpecialNomenclatureOnly () const |
PlanetP | getPlanet (void) const |
float | getLatitude (void) const |
get latitude [degrees] | |
float | getLongitude (void) const |
get longitude [degrees] | |
double | getSolarAltitude (const StelCore *core) const |
return solar altitude in degrees (Meeus, Astr.Alg.1998 53.3) | |
Public Member Functions inherited from StelObject | |
virtual SphericalRegionP | getRegion () const Q_DECL_OVERRIDE |
Default implementation of the getRegion method. More... | |
virtual Vec3d | getPointInRegion () const Q_DECL_OVERRIDE |
Default implementation of the getPointInRegion method. More... | |
virtual QVariantMap | getInfoMap (const StelCore *core) const |
Return a key/value map with data about an object's position, magnitude and so on. 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... | |
virtual float | getVMagnitude (const StelCore *core) const |
Return object's apparent V magnitude as seen from observer, without including extinction. | |
float | getVMagnitudeWithExtinction (const StelCore *core) const |
Return object's apparent V magnitude as seen from observer including extinction. More... | |
virtual double | getCloseViewFov (const StelCore *) const |
Return the best FOV in degree to use for a close view of the object. | |
virtual double | getSatellitesFov (const StelCore *) const |
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 *) const |
virtual float | getAirmass (const StelCore *core) const |
Return airmass value for the object (for atmosphere-dependent calculations) More... | |
Static Public Member Functions | |
static void | setFlagLabels (bool b) |
static bool | getFlagLabels (void) |
Static Public Attributes | |
static const QString | NOMENCLATURE_TYPE |
Static Public Attributes inherited from StelObject | |
static constexpr InfoStringGroup | AllInfo |
A pre-defined "all available" set of specifiers for the getInfoString flags argument to getInfoString. More... | |
static constexpr InfoStringGroup | DefaultInfo |
A pre-defined "default" set of specifiers for the getInfoString flags argument to getInfoString It appears useful to propose this set as post-install settings and let users configure more on demand. More... | |
static constexpr InfoStringGroup | ShortInfo = static_cast<InfoStringGroup>(Name|CatalogNumber|Magnitude|RaDecJ2000) |
A pre-defined "shortest useful" set of specifiers for the getInfoString flags argument to getInfoString. | |
Static Protected Member Functions | |
static NomenclatureItemType | getNomenclatureItemType (const QString abbrev) |
returns a type enum for a given 2-letter code | |
static void | createNameLists () |
Should be triggered once at start and then whenever program language setting changes. | |
Friends | |
class | NomenclatureMgr |
Additional Inherited Members | |
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... | |
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 int decimals=1) const |
Format the magnitude info string for the object. More... | |
QString | getSolarLunarInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Add a section to the InfoString with just horizontal data for the Sun and Moon, when observed from Earth. More... | |
void | postProcessInfoString (QString &str, const InfoStringGroup &flags) const |
Apply post processing on the info string. More... | |
planetocentric coordinate systems, counting longitudes in eastern or western direction, or counting from 0...360 degrees or from -180...+180 degrees. The actual data were taken from https://planetarynames.wr.usgs.gov/GIS_Downloads and include eastward-positive planetocentric coordinates, i.a. all bodies are treated as spheres. However, according to https://planetarynames.wr.usgs.gov/TargetCoordinates on some objects at least the longitudes should be counted west-positive, a convention which we should follow closely. Note that for Mars the traditional west-positive counting has recently been inverted, and longitudes are now counted east-positive like on earth.
|
virtual |
Reimplemented from StelObject.
|
inlinevirtual |
The ID should be unique for all objects of the same type, but may freely conflict with IDs of other types, so getType() must also be tested.
With this it should be possible to at least identify the same object in a different instance of Stellarium running the same version, but it would even be better if the ID provides some degree of forward-compatibility. For some object types (e.g. planets) this may simply return getEnglishName(), but better candidates may be official designations or at least (stable) internal IDs.
An object may have multiple IDs (different catalog numbers, etc). StelObjectMgr::searchByID() should search through all ID variants, but this method only returns one of them.
Implements StelObject.
|
virtual |
core | A pointer to the core @flags a set of flags with information types to include. |
Implements StelObject.
|
virtual |
core | the currently active StelCore object |
altitude | (optional; default=0) altitude of the object, degrees. |
Reimplemented from StelObject.