Stellarium  0.19.3
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends
Nebula Class Reference

Public Types

enum  CatalogGroupFlags {
  CatNGC = 0x00000001, CatIC = 0x00000002, CatM = 0x00000004, CatC = 0x00000008,
  CatB = 0x00000010, CatSh2 = 0x00000020, CatLBN = 0x00000040, CatLDN = 0x00000080,
  CatRCW = 0x00000100, CatVdB = 0x00000200, CatCr = 0x00000400, CatMel = 0x00000800,
  CatPGC = 0x00001000, CatUGC = 0x00002000, CatCed = 0x00004000, CatArp = 0x00008000,
  CatVV = 0x00010000, CatPK = 0x00020000, CatPNG = 0x00040000, CatSNRG = 0x00080000,
  CatACO = 0x00100000, CatHCG = 0x00200000, CatAbell = 0x00400000, CatESO = 0x00800000,
  CatVdBH = 0x01000000, CatDWB = 0x02000000
}
 
enum  TypeGroupFlags {
  TypeGalaxies = 0x00000001, TypeActiveGalaxies = 0x00000002, TypeInteractingGalaxies = 0x00000004, TypeOpenStarClusters = 0x00000008,
  TypeGlobularStarClusters = 0x00000010, TypeHydrogenRegions = 0x00000020, TypeBrightNebulae = 0x00000040, TypeDarkNebulae = 0x00000080,
  TypePlanetaryNebulae = 0x00000100, TypeSupernovaRemnants = 0x00000200, TypeGalaxyClusters = 0x00000400, TypeOther = 0x00000800
}
 
enum  NebulaType {
  NebGx = 0, NebAGx = 1, NebRGx = 2, NebIGx = 3,
  NebQSO = 4, NebCl = 5, NebOc = 6, NebGc = 7,
  NebSA = 8, NebSC = 9, NebN = 10, NebPn = 11,
  NebDn = 12, NebRn = 13, NebBn = 14, NebEn = 15,
  NebCn = 16, NebHII = 17, NebSNR = 18, NebISM = 19,
  NebEMO = 20, NebBLL = 21, NebBLA = 22, NebMolCld = 23,
  NebYSO = 24, NebPossQSO = 25, NebPossPN = 26, NebPPN = 27,
  NebStar = 28, NebSymbioticStar = 29, NebEmissionLineStar = 30, NebSNC = 31,
  NebSNRC = 32, NebGxCl = 33, NebUnknown = 34
}
 Nebula types. More...
 
- 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, RTSTime = 0x00080000,
  NoFont = 0x00100000, PlainText = 0x00200000
}
 Used as named bitfield flags as specifiers to filter results of getInfoString. More...
 

Public Member Functions

virtual QString getInfoString (const StelCore *core, const InfoStringGroup &flags) const
 Nebula support the following InfoStringGroup flags: More...
 
virtual QVariantMap getInfoMap (const StelCore *core) const
 In addition to the entries from StelObject::getInfoMap(), Nebula objects provide. More...
 
virtual QString getType () const
 Return object's type. It should be the name of the class.
 
virtual QString getID () const
 Returns a unique identifier for this object. More...
 
virtual Vec3d getJ2000EquatorialPos (const StelCore *) const
 Get observer-centered equatorial coordinates at equinox J2000.
 
virtual double getCloseViewFov (const StelCore *core=Q_NULLPTR) const
 Return the best FOV in degree to use for a close view of the object.
 
virtual float getVMagnitude (const StelCore *core) const
 Return object's apparent V magnitude as seen from observer, without including extinction.
 
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.
 
virtual Vec3f getInfoColor () const
 Get a color used to display info about the object.
 
virtual QString getNameI18n () const
 Return translated object's name.
 
virtual QString getEnglishName () const
 Return object's name in english.
 
QString getEnglishAliases () const
 
QString getI18nAliases () const
 
virtual double getAngularSize (const StelCore *) const
 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...
 
virtual SphericalRegionP getRegion () const
 Default implementation of the getRegion method. More...
 
void setLabelColor (const Vec3f &v)
 
QString getTypeString () const
 Get the printable nebula Type. More...
 
NebulaType getDSOType () const
 
QString getMorphologicalTypeString () const
 Get the printable morphological nebula Type. More...
 
float getSurfaceBrightness (const StelCore *core, bool arcsec=false) const
 
float getSurfaceBrightnessWithExtinction (const StelCore *core, bool arcsec=false) const
 
float getContrastIndex (const StelCore *core) const
 Compute an extended object's contrast index.
 
float getSurfaceArea (void) const
 Get the surface area. More...
 
void setProperName (QString name)
 
void addNameAlias (QString name)
 
void removeAllNames ()
 
QString getDSODesignation () const
 Get designation for DSO (with priority: M, C, NGC, IC, B, Sh2, VdB, RCW, LDN, LBN, Cr, Mel, PGC, UGC, Ced, Arp, VV, PK, PN G, SNR G, ACO, HCG, Abell, ESO) More...
 
bool objectInDisplayedCatalog () const
 
bool objectInAllowedSizeRangeLimits () const
 
- Public Member Functions inherited from StelObject
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...
 
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
 

Static Public Member Functions

static QString getTypeString (Nebula::NebulaType nType)
 

Static Public Attributes

static const QString NEBULA_TYPE
 
static const CatalogGroupFlags AllCatalogs = static_cast<CatalogGroupFlags>(CatNGC|CatIC|CatM|CatC|CatB|CatSh2|CatLBN|CatLDN|CatRCW|CatVdB|CatCr|CatMel|CatPGC|CatUGC|CatCed|CatArp|CatVV|CatPK|CatPNG|CatSNRG|CatACO|CatHCG|CatAbell|CatESO|CatVdBH|CatDWB)
 A pre-defined set of specifiers for the catalogs filter.
 
static const TypeGroupFlags AllTypes = static_cast<TypeGroupFlags>(TypeGalaxies|TypeActiveGalaxies|TypeInteractingGalaxies|TypeOpenStarClusters|TypeGlobularStarClusters|TypeHydrogenRegions|TypeBrightNebulae|TypeDarkNebulae|TypePlanetaryNebulae|TypeSupernovaRemnants|TypeGalaxyClusters|TypeOther)
 
- 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 Member Functions

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.
 
- 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. for the object.
 
void postProcessInfoString (QString &str, const InfoStringGroup &flags) const
 Apply post processing on the info string.
 

Friends

class NebulaMgr
 
struct DrawNebulaFuncObject
 

Additional Inherited Members

- Public Slots inherited from StelObject
virtual void setExtraInfoString (const QString &str)
 Allow additions to the Info String. More...
 
virtual void addToExtraInfoString (const QString &str)
 Add str to the extra string. This should be preferrable over hard setting.
 

Member Enumeration Documentation

◆ CatalogGroupFlags

Enumerator
CatNGC 

New General Catalogue (NGC)

CatIC 

Index Catalogue (IC)

CatM 

Messier Catalog (M)

CatC 

Caldwell Catalogue (C)

CatB 

Barnard Catalogue (B)

CatSh2 

Sharpless Catalogue (Sh 2)

CatLBN 

Lynds' Catalogue of Bright Nebulae (LBN)

CatLDN 

Lynds' Catalogue of Dark Nebulae (LDN)

CatRCW 

A catalogue of Hα-emission regions in the southern Milky Way (RCW)

CatVdB 

Van den Bergh Catalogue of reflection nebulae (VdB)

CatCr 

Collinder Catalogue (Cr or Col)

CatMel 

Melotte Catalogue of Deep Sky Objects (Mel)

CatPGC 

HYPERLEDA. I. Catalog of galaxies (PGC)

CatUGC 

The Uppsala General Catalogue of Galaxies.

CatCed 

Cederblad Catalog of bright diffuse Galactic nebulae (Ced)

CatArp 

Atlas of Peculiar Galaxies (Arp)

CatVV 

Interacting galaxies catalogue by Vorontsov-Velyaminov (VV)

CatPK 

Catalogue of Galactic Planetary Nebulae (PK)

CatPNG 

Strasbourg-ESO Catalogue of Galactic Planetary Nebulae (Acker+, 1992) (PN G)

CatSNRG 

A catalogue of Galactic supernova remnants (Green, 2014) (SNR G)

CatACO 

A Catalog of Rich Clusters of Galaxies (Abell+, 1989) (ACO)

CatHCG 

Hickson, Compact Group (Hickson+ 1982) (HCG)

CatAbell 

Abell Catalog of Planetary Nebulae (Abell, 1966) (Abell; PN A66)

CatESO 

ESO/Uppsala Survey of the ESO(B) Atlas (Lauberts, 1982) (ESO)

CatVdBH 

Catalogue of southern stars embedded in nebulosity (van den Bergh+, 1975) (VdBH)

CatDWB 

Catalogue and distances of optically visible H II regions (Dickel+, 1969) (DWB)

◆ NebulaType

Enumerator
NebGx 

m Galaxy

NebAGx 

Active galaxy.

NebRGx 

m Radio galaxy

NebIGx 

Interacting galaxy.

NebQSO 

Quasar.

NebCl 

Star cluster.

NebOc 

Open star cluster.

NebGc 

Globular star cluster, usually in the Milky Way Galaxy.

NebSA 

Stellar association.

NebSC 

Star cloud.

NebN 

A nebula.

NebPn 

Planetary nebula.

NebDn 

Dark Nebula.

NebRn 

Reflection nebula.

NebBn 

Bipolar nebula.

NebEn 

Emission nebula.

NebCn 

Cluster associated with nebulosity.

NebHII 

HII Region.

NebSNR 

Supernova remnant.

NebISM 

Interstellar matter.

NebEMO 

Emission object.

NebBLL 

BL Lac object.

NebBLA 

Blazar.

NebMolCld 

Molecular Cloud.

NebYSO 

Young Stellar Object.

NebPossQSO 

Possible Quasar.

NebPossPN 

Possible Planetary Nebula.

NebPPN 

Protoplanetary Nebula.

NebStar 

Star.

NebSymbioticStar 

Symbiotic Star.

NebEmissionLineStar 

Emission-line Star.

NebSNC 

Supernova Candidate.

NebSNRC 

Supernova Remnant Candidate.

NebGxCl 

Cluster of Galaxies.

NebUnknown 

m Unknown type, catalog errors, "Unidentified Southern Objects" etc.

◆ TypeGroupFlags

Enumerator
TypeGalaxies 

Galaxies.

TypeActiveGalaxies 

Different Active Galaxies.

TypeInteractingGalaxies 

Interacting Galaxies.

TypeOpenStarClusters 

Open Star Clusters.

TypeGlobularStarClusters 

Globular Star Clusters.

TypeHydrogenRegions 

Hydrogen Regions.

TypeBrightNebulae 

Bright Nebulae.

TypeDarkNebulae 

Dark Nebulae.

TypePlanetaryNebulae 

Planetary Nebulae.

TypeSupernovaRemnants 

Supernova Remnants.

TypeGalaxyClusters 

Galaxy Clusters.

TypeOther 

Other objects.

Member Function Documentation

◆ getAngularSize()

virtual double Nebula::getAngularSize ( const StelCore core) const
virtual
Returns
radius in degree. This value is the apparent angular size of the object, and is independent of the current FOV.

Implements StelObject.

◆ getDSODesignation()

QString Nebula::getDSODesignation ( ) const
Returns
a designation

◆ getID()

virtual QString Nebula::getID ( ) const
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.

◆ getInfoMap()

virtual QVariantMap Nebula::getInfoMap ( const StelCore core) const
virtual
  • bmag (photometric B magnitude. 99 if unknown)
  • morpho (longish description; translated!)
  • surface-brightness A few entries are optional
  • bV (B-V index)
  • redshift

Reimplemented from StelObject.

◆ getInfoString()

virtual QString Nebula::getInfoString ( const StelCore core,
const InfoStringGroup &  flags 
) const
virtual
  • Name
  • CatalogNumber
  • Magnitude
  • RaDec
  • AltAzi
  • Distance
  • Size
  • Extra (contains the Nebula type, which might be "Galaxy", "Cluster" or similar)
  • PlainText
    Parameters
    corethe StelCore object
    flagsa set of InfoStringGroup items to include in the return value.
    Returns
    a QString containing an HMTL encoded description of the Nebula.

Implements StelObject.

◆ getMorphologicalTypeString()

QString Nebula::getMorphologicalTypeString ( ) const
Returns
the nebula morphological type string.

◆ getRegion()

virtual SphericalRegionP Nebula::getRegion ( ) const
inlinevirtual

Return the spatial region of the object.

Reimplemented from StelObject.

◆ getSurfaceArea()

float Nebula::getSurfaceArea ( void  ) const
Returns
surface area in square degrees.

◆ getTypeString()

QString Nebula::getTypeString ( ) const
inline
Returns
the nebula type code.