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

Public Types

enum  CatalogGroupFlags {
  CatNone = 0x00000000 , 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 , CatESO = 0x00400000 ,
  CatVdBH = 0x00800000 , CatDWB = 0x01000000 , CatTr = 0x02000000 , CatSt = 0x04000000 ,
  CatRu = 0x08000000 , CatVdBHa = 0x10000000 , CatOther = 0x20000000 , CatAll = 0xFFFFFFFF
}
 
enum  TypeGroupFlags {
  TypeNone = 0x00000000 , TypeGalaxies = 0x00000001 , TypeActiveGalaxies = 0x00000002 , TypeInteractingGalaxies = 0x00000004 ,
  TypeOpenStarClusters = 0x00000008 , TypeGlobularStarClusters = 0x00000010 , TypeHydrogenRegions = 0x00000020 , TypeBrightNebulae = 0x00000040 ,
  TypeDarkNebulae = 0x00000080 , TypePlanetaryNebulae = 0x00000100 , TypeSupernovaRemnants = 0x00000200 , TypeGalaxyClusters = 0x00000400 ,
  TypeOther = 0x00000800 , TypeAll = 0xFFFFFFFF
}
 
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 , NebPartOfGx = 34 , NebRegion = 35 ,
  NebUnknown = 36
}
 Nebula types. More...
 
- 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

QString getInfoString (const StelCore *core, const InfoStringGroup &flags) const override
 Nebula support the following InfoStringGroup flags: More...
 
QVariantMap getInfoMap (const StelCore *core) const override
 In addition to the entries from StelObject::getInfoMap(), Nebula objects provide. More...
 
QString getType () const override
 Return object's type. It should be the name of the class.
 
QString getObjectType () const override
 Return object's type. More...
 
QString getObjectTypeI18n () const override
 Return object's type. It should be translated lowercase name of the type of the object.
 
QString getID () const override
 Returns a unique identifier for this object. More...
 
Vec3d getJ2000EquatorialPos (const StelCore *core) const override
 Get observer-centered equatorial coordinates at equinox J2000, including aberration.
 
double getCloseViewFov (const StelCore *core=Q_NULLPTR) const override
 Return the best FOV in degree to use for a close view of the object.
 
float getVMagnitude (const StelCore *core) const override
 Return object's apparent V magnitude as seen from observer, without including extinction.
 
float getSelectPriority (const StelCore *core) const override
 Return a priority value which is used to discriminate objects by priority As for magnitudes, the lower is the higher priority.
 
Vec3f getInfoColor () const override
 Get a color used to display info about the object.
 
QString getNameI18n () const override
 Return translated object's name.
 
QString getEnglishName () const override
 Return object's name in english.
 
QString getEnglishAliases () const
 
QString getI18nAliases () const
 
double getAngularRadius (const StelCore *) const override
 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...
 
SphericalRegionP getRegion () const override
 Return the spatial region of the object.
 
void setLabelColor (const Vec3f &v)
 
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.
 
virtual float getBMagnitude (const StelCore *core) const
 Return object's B magnitude as seen from observer, without including extinction.
 
float getBMagnitudeWithExtinction (const StelCore *core) const
 Return object's B magnitude as seen from observer including extinction. More...
 
float getSurfaceArea (void) const
 Get the surface area. More...
 
void setProperName (QString name)
 
void setDiscoveryData (QString name, QString year)
 
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, ESO, vdBH, DWB, Tr, St, Ru, vdB-Ha) from the first catalog that is activated. More...
 
QString getDSODesignationWIC () 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, ESO, vdBH, DWB, Tr, St, Ru, vdB-Ha) without accounting for activation of catalogs. More...
 
bool objectInDisplayedCatalog () const
 
bool objectInAllowedSizeRangeLimits () const
 
- Public Member Functions inherited from StelObject
SphericalRegionP getRegion () const override
 Default implementation of the getRegion method. More...
 
Vec3d getPointInRegion () const override
 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...
 
virtual Vec4d getRTSTime (const StelCore *core, const double altitude=0.) const
 Compute time of rise, transit and set for celestial object for current location. More...
 
float getVMagnitudeWithExtinction (const StelCore *core, const float knownVMag=-1000.f) 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
 
virtual float getAirmass (const StelCore *core) const
 Return airmass value for the object (for atmosphere-dependent calculations) More...
 

Static Public Member Functions

static QString getTypeStringI18n (Nebula::NebulaType nType)
 Get the printable localized nebula Type for. More...
 

Static Public Attributes

static const QString NEBULA_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.
 

Protected Member Functions

QString getMagnitudeInfoString (const StelCore *core, const InfoStringGroup &flags, const int decimals=1) const override
 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. 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...
 

Friends

class NebulaMgr
 
struct DrawNebulaFuncObject
 

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

Member Enumeration Documentation

◆ CatalogGroupFlags

Enumerator
CatNone 

Nothing selected.

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)

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)

CatTr 

Trumpler Catalogue (Tr)

CatSt 

Stock Catalogue (St)

CatRu 

Ruprecht Catalogue (Ru)

CatVdBHa 

van den Bergh-Hagen Catalogue (vdB-Ha)

CatOther 

without ID

CatAll 

All catalogs selected.

◆ NebulaType

Nebula types.

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.

NebPartOfGx 

Part of a Galaxy.

NebRegion 

Region of the sky.

NebUnknown 

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

◆ TypeGroupFlags

Enumerator
TypeNone 

Nothing selected.

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

TypeAll 

All types.

Member Function Documentation

◆ getAngularRadius()

double Nebula::getAngularRadius ( const StelCore core) const
overridevirtual

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.
Note
The default implementation just returns zero.

Reimplemented from StelObject.

◆ getBMagnitudeWithExtinction()

float Nebula::getBMagnitudeWithExtinction ( const StelCore core) const

Return object's B magnitude as seen from observer including extinction.

Extinction obviously only if atmosphere=on.

◆ getDSODesignation()

QString Nebula::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, ESO, vdBH, DWB, Tr, St, Ru, vdB-Ha) from the first catalog that is activated.

Returns
a designation for DSO

◆ getDSODesignationWIC()

QString Nebula::getDSODesignationWIC ( ) 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, ESO, vdBH, DWB, Tr, St, Ru, vdB-Ha) without accounting for activation of catalogs.

This should be preferred to retrieve the most common designation regardless of settings.

Returns
a designation for DSO

◆ getID()

QString Nebula::getID ( ) const
inlineoverridevirtual

Returns a unique identifier for this object.

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()

QVariantMap Nebula::getInfoMap ( const StelCore core) const
overridevirtual

In addition to the entries from StelObject::getInfoMap(), Nebula objects provide.

  • bmag (photometric B magnitude. 99 if unknown)
  • morpho (longish description; translated!)
  • surface-brightness
  • designations (all designations of DSO)
  • axis-major (major axis in radians)
  • axis-major-dd (major axis in decimal degrees)
  • axis-major-deg (major axis in decimal degrees (formatted string))
  • axis-major-dms (major axis in DMS format)
  • axis-minor (minor axis in radians)
  • axis-minor-dd (minor axis in decimal degrees)
  • axis-minor-deg (minor axis in decimal degrees (formatted string))
  • axis-minor-dms (minor axis in DMS format)
  • orientation-angle (in degrees) A few entries are optional
  • bV (B-V index)
  • redshift

Reimplemented from StelObject.

◆ getInfoString()

QString Nebula::getInfoString ( const StelCore core,
const InfoStringGroup &  flags 
) const
overridevirtual

Nebula support the following InfoStringGroup flags:

  • 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

Get the printable morphological nebula Type.

Returns
the nebula morphological type string.

◆ getObjectType()

QString Nebula::getObjectType ( ) const
inlineoverridevirtual

Return object's type.

It should be English lowercase name of the astronomical type of the object. The purpose of this string is a distinction or further refinement over object class name retrieved with getType(): Planet objects can be planets, moons, or even the Sun. The Sun should however return "star". Nebula objects should return their actual type like "open cluster", "galaxy", "nebula", ...

Implements StelObject.

◆ getSurfaceArea()

float Nebula::getSurfaceArea ( void  ) const

Get the surface area.

Returns
surface area in square degrees.

◆ getTypeStringI18n()

static QString Nebula::getTypeStringI18n ( Nebula::NebulaType  nType)
static

Get the printable localized nebula Type for.

  • nType.
    Returns
    the localized nebula type code.
    Note
    for actual objects, use getObjectTypeI18n()