Stellarium
0.17.0
|
A Star (Star1,Star2,Star3,...) cannot be a StelObject. More...
#include <StarWrapper.hpp>
Protected Member Functions | |
QString | getType (void) const |
Return object's type. It should be the name of the class. | |
QString | getID (void) const |
Returns a unique identifier for this object. More... | |
QString | getEnglishName (void) const |
Return object's name in english. | |
QString | getNameI18n (void) const =0 |
Return translated object's name. | |
QString | getInfoString (const StelCore *core, const InfoStringGroup &flags) const |
StarWrapperBase supports the following InfoStringGroup flags. More... | |
virtual float | getBV (void) const =0 |
Protected Member Functions inherited from StelObject | |
QString | getCommonInfoString (const StelCore *core, const InfoStringGroup &flags) const |
Format the positional info string contain J2000/of date/altaz/hour angle positions and constellation, sidereal time, etc. for the object. | |
void | postProcessInfoString (QString &str, const InfoStringGroup &flags) const |
Apply post processing on the info string. | |
Additional Inherited Members | |
Public Types inherited from StelObject | |
enum | InfoStringGroupFlags { Name = 0x00000001, CatalogNumber = 0x00000002, Magnitude = 0x00000004, RaDecJ2000 = 0x00000008, RaDecOfDate = 0x00000010, AltAzi = 0x00000020, Distance = 0x00000040, Size = 0x00000080, Velocity = 0x00000100, Extra = 0x00000200, HourAngle = 0x00000400, AbsoluteMagnitude = 0x00000800, GalacticCoord = 0x00001000, SupergalacticCoord = 0x00002000, ObjectType = 0x00004000, EclipticCoordJ2000 = 0x00008000, EclipticCoordOfDate = 0x00010000, IAUConstellation = 0x00020000, SiderealTime = 0x00040000, NoFont = 0x00080000, PlainText = 0x00100000 } |
Used as named bitfield flags as specifiers to filter results of getInfoString. 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... | |
virtual QVariantMap | getInfoMap (const StelCore *core) const |
Return a key/value map with data about an object's position, magnitude and so on. More... | |
virtual Vec3d | getJ2000EquatorialPos (const StelCore *core) const =0 |
Get observer-centered equatorial coordinates at equinox J2000. | |
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... | |
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 float | getSelectPriority (const StelCore *) const |
Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority. | |
virtual Vec3f | getInfoColor () const |
Get a color used to display info about the object. | |
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 double | getAngularSize (const StelCore *core) const =0 |
Return the angular radius of a circle containing the object as seen from the observer with the circle center assumed to be at getJ2000EquatorialPos(). More... | |
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. | |
The additional overhead of having a dynamic type would simply be too much. Therefore the StarWrapper is needed when returning Stars as StelObjects, e.g. for searching, and for constellations. The StarWrapper is destroyed when it is not needed anymore, by utilizing reference counting. So there is no chance that more than a few hundreds of StarWrappers are alive simultanousely. Another reason for having the StarWrapper is to encapsulate the differences between the different kinds of Stars (Star1,Star2,Star3).
|
inlineprotectedvirtual |
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.
|
protectedvirtual |
core | the StelCore object |
flags | a set of InfoStringGroup items to include in the return value. |
Implements StelObject.
Reimplemented in StarWrapper1.