Stellarium 0.12.4
List of all members | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions
StelObject Class Referenceabstract

The base abstract class for sky objects used in Stellarium like Stars, Planets, Constellations etc... More...

#include <StelObject.hpp>

Public Types

enum  InfoStringGroupFlags {
  Name = 0x00000001, CatalogNumber = 0x00000002, Magnitude = 0x00000004, RaDecJ2000 = 0x00000008,
  RaDecOfDate = 0x00000010, AltAzi = 0x00000020, Distance = 0x00000040, Size = 0x00000080,
  Extra1 = 0x00000100, Extra2 = 0x00000200, Extra3 = 0x00000400, PlainText = 0x00000800,
  HourAngle = 0x00001000, AbsoluteMagnitude = 0x00002000, GalCoordJ2000 = 0x00004000
}
 used as named bitfield flags as specifiers to filter results of getInfoString. More...
 
typedef QFlags
< InfoStringGroupFlags
InfoStringGroup
 

Public Member Functions

 Q_FLAGS (InfoStringGroup) static const InfoStringGroupFlags AllInfo
 A pre-defined set of specifiers for the getInfoString flags argument to getInfoString. More...
 
virtual SphericalRegionP getRegion () const
 Default implementation of the getRegion method. More...
 
virtual QString getInfoString (const StelCore *core, const InfoStringGroup &flags=StelObject::AllInfo) const =0
 Write I18n information about the object in QString. More...
 
virtual QString getType () const =0
 Return object's type. It should be the name of the class. More...
 
virtual QString getEnglishName () const =0
 Return object's name in english. More...
 
virtual QString getNameI18n () const =0
 Return translated object's name. More...
 
virtual Vec3d getJ2000EquatorialPos (const StelCore *core) const =0
 Get observer-centered equatorial coordinates at equinox J2000. More...
 
Vec3d getEquinoxEquatorialPos (const StelCore *core) const
 Get observer-centered equatorial coordinate at the current equinox The frame has it's 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 getJ2000GalacticPos (const StelCore *core) const
 Get observer-centered galactic coordinates at equinox J2000. More...
 
Vec3d getSideralPosGeometric (const StelCore *core) const
 Get observer-centered hour angle + declination (at current equinox) It is the geometric position, i.e. More...
 
Vec3d getSideralPosApparent (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...
 
virtual float getVMagnitude (const StelCore *core, bool withExtinction=false) const
 Return object's apparent V magnitude as seen from observer. 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. More...
 
virtual Vec3f getInfoColor () const
 Get a color used to display info about the object. More...
 
virtual double getCloseViewFov (const StelCore *) const
 Return the best FOV in degree to use for a close view of the object. More...
 
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) More...
 
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

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

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...
 

Detailed Description

The base abstract class for sky objects used in Stellarium like Stars, Planets, Constellations etc...

Normally you should use StelObjectP instead of StelObject* which have by default the same behaviour, but which can be added reference counting if needed.

See Also
StelObjectP

Definition at line 35 of file StelObject.hpp.

Member Enumeration Documentation

used as named bitfield flags as specifiers to filter results of getInfoString.

The precise definition of these should be documented in the getInfoString documentation for the derived classes for all specifiers which are defined in that derivative. Use InfoStringGroup instead.

Enumerator
Name 

An object's name.

CatalogNumber 

Catalog numbers.

Magnitude 

Magnitude related data.

RaDecJ2000 

The equatorial position (J2000 ref)

RaDecOfDate 

The equatorial position (of date)

AltAzi 

The position (Altitude/Azimuth)

Distance 

Info about an object's distance.

Size 

Info about an object's size.

Extra1 

Derived class-specific extra fields.

Extra2 

Derived class-specific extra fields.

Extra3 

Derived class-specific extra fields.

PlainText 

Strip HTML tags from output.

HourAngle 

The hour angle + DE (of date)

AbsoluteMagnitude 

The absolute magnitude.

GalCoordJ2000 

The galactic position (J2000 ref) GZ: HEY STOP! GalCoords are DEFINED in B1950 coordinates! What we have here is a transformation matrix preconfigured to do precession J2000->B1950 and Equ.B1950->Gal. But "GalCoord for J2000" does not make sense.

Definition at line 43 of file StelObject.hpp.

Member Function Documentation

Vec3d StelObject::getAltAzPosApparent ( const StelCore core) const

Get observer-centered alt/az position It is the apparent position, i.e.

taking the refraction effect into account. The frame has it's Z axis at the zenith

Vec3d StelObject::getAltAzPosAuto ( const StelCore core) const

Get observer-centered alt/az position It is the automatic position, i.e.

taking the refraction effect into account if atmosphere is on. The frame has it's Z axis at the zenith

Vec3d StelObject::getAltAzPosGeometric ( const StelCore core) const

Get observer-centered alt/az position It is the geometric position, i.e.

without taking refraction effect into account. The frame has it's Z axis at the zenith

virtual double StelObject::getAngularSize ( const StelCore core) const
pure virtual

Return the angular radius of a circle containing the object as seen from the observer with the circle center assumed to be at getJ2000EquatorialPos().

Returns
radius in degree. This value is the apparent angular size of the object, and is independent of the current FOV.

Implemented in Planet, BigStarCatalogExtension::StarWrapper< Star >, BigStarCatalogExtension::StarWrapper< Star2 >, BigStarCatalogExtension::StarWrapper< Star3 >, BigStarCatalogExtension::StarWrapper< Star1 >, and Nebula.

virtual double StelObject::getCloseViewFov ( const StelCore ) const
inlinevirtual

Return the best FOV in degree to use for a close view of the object.

Reimplemented in Planet, and Nebula.

Definition at line 139 of file StelObject.hpp.

virtual QString StelObject::getEnglishName ( ) const
pure virtual
Vec3d StelObject::getEquinoxEquatorialPos ( const StelCore core) const

Get observer-centered equatorial coordinate at the current equinox The frame has it's 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.

virtual Vec3f StelObject::getInfoColor ( void  ) const
inlinevirtual
virtual QString StelObject::getInfoString ( const StelCore core,
const InfoStringGroup &  flags = StelObject::AllInfo 
) const
pure virtual

Write I18n information about the object in QString.

Parameters
corethe StelCore object to use
flagsa set of InfoStringGroup flags which are used to filter the return value - including specified types of information and altering the output format.
Returns
an HTML string containing information about the StelObject.

Implemented in Planet, BigStarCatalogExtension::StarWrapper1, MinorPlanet, Comet, BigStarCatalogExtension::StarWrapperBase, and Nebula.

virtual Vec3d StelObject::getJ2000EquatorialPos ( const StelCore core) const
pure virtual
Vec3d StelObject::getJ2000GalacticPos ( const StelCore core) const

Get observer-centered galactic coordinates at equinox J2000.

virtual QString StelObject::getNameI18n ( ) const
pure virtual
QString StelObject::getPositionInfoString ( const StelCore core,
const InfoStringGroup &  flags 
) const
protected

Format the positional info string contain J2000/of date/altaz/hour angle positions for the object.

virtual SphericalRegionP StelObject::getRegion ( ) const
inlinevirtual

Default implementation of the getRegion method.

Return the spatial region of the object.

Implements StelRegionObject.

Reimplemented in Nebula.

Definition at line 73 of file StelObject.hpp.

virtual double StelObject::getSatellitesFov ( const StelCore ) const
inlinevirtual

Return the best FOV in degree to use for a global view of the object satellite system (if there are satellites)

Reimplemented in Planet.

Definition at line 142 of file StelObject.hpp.

virtual float StelObject::getSelectPriority ( const StelCore ) const
inlinevirtual

Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority.

Reimplemented in Planet, BigStarCatalogExtension::StarWrapper< Star >, BigStarCatalogExtension::StarWrapper< Star2 >, BigStarCatalogExtension::StarWrapper< Star3 >, BigStarCatalogExtension::StarWrapper< Star1 >, and Nebula.

Definition at line 133 of file StelObject.hpp.

Vec3d StelObject::getSideralPosApparent ( const StelCore core) const

Get observer-centered hour angle + declination (at current equinox) It is the apparent position, i.e.

taking the refraction effect into account. The frame has its Z axis at the planet's current rotation axis

Vec3d StelObject::getSideralPosGeometric ( const StelCore core) const

Get observer-centered hour angle + declination (at current equinox) It is the geometric position, i.e.

without taking refraction effect into account. The frame has its Z axis at the planet's current rotation axis

virtual QString StelObject::getType ( ) const
pure virtual

Return object's type. It should be the name of the class.

Implemented in Planet, Nebula, and BigStarCatalogExtension::StarWrapperBase.

virtual float StelObject::getVMagnitude ( const StelCore core,
bool  withExtinction = false 
) const
virtual
void StelObject::postProcessInfoString ( QString &  str,
const InfoStringGroup &  flags 
) const
protected

Apply post processing on the info string.

StelObject::Q_FLAGS ( InfoStringGroup  ) const

A pre-defined set of specifiers for the getInfoString flags argument to getInfoString.

Member Data Documentation

A pre-defined set of specifiers for the getInfoString flags argument to getInfoString.

Definition at line 67 of file StelObject.hpp.


The documentation for this class was generated from the following file: