Nebula.hpp   Nebula.hpp 
skipping to change at line 43 skipping to change at line 43
// This only draws nebula icons. For the DSO images, see StelSkylayerMgr an d StelSkyImageTile. // This only draws nebula icons. For the DSO images, see StelSkylayerMgr an d StelSkyImageTile.
class Nebula : public StelObject class Nebula : public StelObject
{ {
friend class NebulaMgr; friend class NebulaMgr;
//Required for the correct working of the Q_FLAGS macro (which requi res a MOC pass) //Required for the correct working of the Q_FLAGS macro (which requi res a MOC pass)
Q_GADGET Q_GADGET
Q_FLAGS(CatalogGroup) Q_FLAGS(CatalogGroup)
Q_FLAGS(TypeGroup) Q_FLAGS(TypeGroup)
Q_ENUMS(NebulaType)
public: public:
enum CatalogGroupFlags enum CatalogGroupFlags
{ {
CatNGC = 0x00000001, //!< New General Catalogue (NG C) CatNGC = 0x00000001, //!< New General Catalogue (NG C)
CatIC = 0x00000002, //!< Index Catalogue (IC) CatIC = 0x00000002, //!< Index Catalogue (IC)
CatM = 0x00000004, //!< Messier Catalog (M) CatM = 0x00000004, //!< Messier Catalog (M)
CatC = 0x00000008, //!< Caldwell Catalogue (C) CatC = 0x00000008, //!< Caldwell Catalogue (C)
CatB = 0x00000010, //!< Barnard Catalogue (B) CatB = 0x00000010, //!< Barnard Catalogue (B)
CatSh2 = 0x00000020, //!< Sharpless Catalogue (Sh 2 ) CatSh2 = 0x00000020, //!< Sharpless Catalogue (Sh 2 )
CatLBN = 0x00000040, //!< Lynds' Catalogue of Brigh t Nebulae (LBN) CatLBN = 0x00000040, //!< Lynds' Catalogue of Brigh t Nebulae (LBN)
skipping to change at line 83 skipping to change at line 84
TypePlanetaryNebulae = 0x00000080, //!< Planetary Nebulae TypePlanetaryNebulae = 0x00000080, //!< Planetary Nebulae
TypeSupernovaRemnants = 0x00000100, //!< Supernova Remnant s TypeSupernovaRemnants = 0x00000100, //!< Supernova Remnant s
TypeOther = 0x00000200 //!< Other objects TypeOther = 0x00000200 //!< Other objects
}; };
Q_DECLARE_FLAGS(TypeGroup, TypeGroupFlags) Q_DECLARE_FLAGS(TypeGroup, TypeGroupFlags)
//! A pre-defined set of specifiers for the catalogs filter //! A pre-defined set of specifiers for the catalogs filter
static const CatalogGroupFlags AllCatalogs = (CatalogGroupFlags)(Cat NGC|CatIC|CatM|CatC|CatB|CatSh2|CatLBN|CatLDN|CatRCW|CatVdB|CatCr|CatMel|Ca tPGC|CatUGC|CatCed); static const CatalogGroupFlags AllCatalogs = (CatalogGroupFlags)(Cat NGC|CatIC|CatM|CatC|CatB|CatSh2|CatLBN|CatLDN|CatRCW|CatVdB|CatCr|CatMel|Ca tPGC|CatUGC|CatCed);
static const TypeGroupFlags AllTypes = (TypeGroupFlags)(TypeGalaxies |TypeActiveGalaxies|TypeInteractingGalaxies|TypeStarClusters|TypeHydrogenRe gions|TypeBrightNebulae|TypeDarkNebulae|TypePlanetaryNebulae|TypeSupernovaR emnants|TypeOther); static const TypeGroupFlags AllTypes = (TypeGroupFlags)(TypeGalaxies |TypeActiveGalaxies|TypeInteractingGalaxies|TypeStarClusters|TypeHydrogenRe gions|TypeBrightNebulae|TypeDarkNebulae|TypePlanetaryNebulae|TypeSupernovaR emnants|TypeOther);
//! @enum NebulaType Nebula types
enum NebulaType
{
NebGx = 0, //!< Galaxy
NebAGx = 1, //!< Active galaxy
NebRGx = 2, //!< Radio galaxy
NebIGx = 3, //!< Interacting galaxy
NebQSO = 4, //!< Quasar
NebCl = 5, //!< Star cluster
NebOc = 6, //!< Open star cluster
NebGc = 7, //!< Globular star cluster, usually
in the Milky Way Galaxy
NebSA = 8, //!< Stellar association
NebSC = 9, //!< Star cloud
NebN = 10, //!< A nebula
NebPn = 11, //!< Planetary nebula
NebDn = 12, //!< Dark Nebula
NebRn = 13, //!< Reflection nebula
NebBn = 14, //!< Bipolar nebula
NebEn = 15, //!< Emission nebula
NebCn = 16, //!< Cluster associated with nebulos
ity
NebHII = 17, //!< HII Region
NebSNR = 18, //!< Supernova remnant
NebISM = 19, //!< Interstellar matter
NebEMO = 20, //!< Emission object
NebBLL = 21, //!< BL Lac object
NebBLA = 22, //!< Blazar
NebMolCld = 23, //!< Molecular Cloud
NebYSO = 24, //!< Young Stellar Object
NebPossQSO = 25, //!< Possible Quasar
NebPossPN = 26, //!< Possible Planetary Nebula
NebPPN = 27, //!< Protoplanetary Nebula
NebStar = 28, //!< Star
NebUnknown = 29 //!< Unknown type, catalog errors, "
Unidentified Southern Objects" etc.
};
Nebula(); Nebula();
~Nebula(); ~Nebula();
//! Nebula support the following InfoStringGroup flags: //! Nebula support the following InfoStringGroup flags:
//! - Name //! - Name
//! - CatalogNumber //! - CatalogNumber
//! - Magnitude //! - Magnitude
//! - RaDec //! - RaDec
//! - AltAzi //! - AltAzi
//! - Distance //! - Distance
skipping to change at line 108 skipping to change at line 144
//! @return a QString containing an HMTL encoded description of the Nebula. //! @return a QString containing an HMTL encoded description of the Nebula.
virtual QString getInfoString(const StelCore *core, const InfoString Group& flags) const; virtual QString getInfoString(const StelCore *core, const InfoString Group& flags) const;
virtual QString getType() const {return "Nebula";} virtual QString getType() const {return "Nebula";}
virtual Vec3d getJ2000EquatorialPos(const StelCore*) const {return X YZ;} virtual Vec3d getJ2000EquatorialPos(const StelCore*) const {return X YZ;}
virtual double getCloseViewFov(const StelCore* core = NULL) const; virtual double getCloseViewFov(const StelCore* core = NULL) const;
virtual float getVMagnitude(const StelCore* core) const; virtual float getVMagnitude(const StelCore* core) const;
virtual float getSelectPriority(const StelCore* core) const; virtual float getSelectPriority(const StelCore* core) const;
virtual Vec3f getInfoColor() const; virtual Vec3f getInfoColor() const;
virtual QString getNameI18n() const {return nameI18;} virtual QString getNameI18n() const {return nameI18;}
virtual QString getEnglishName() const {return englishName;} virtual QString getEnglishName() const {return englishName;}
QString getEnglishAliases() const;
QString getI18nAliases() const;
virtual double getAngularSize(const StelCore*) const; virtual double getAngularSize(const StelCore*) const;
virtual SphericalRegionP getRegion() const {return pointRegion;} virtual SphericalRegionP getRegion() const {return pointRegion;}
// Methods specific to Nebula // Methods specific to Nebula
void setLabelColor(const Vec3f& v) {labelColor = v;} void setLabelColor(const Vec3f& v) {labelColor = v;}
void setCircleColor(const Vec3f& v) {circleColor = v;} void setCircleColor(const Vec3f& v) {circleColor = v;}
//! Get the printable nebula Type. //! Get the printable nebula Type.
//! @return the nebula type code. //! @return the nebula type code.
QString getTypeString() const; QString getTypeString() const;
NebulaType getDSOType() const {return nType;}
//! Get the printable morphological nebula Type. //! Get the printable morphological nebula Type.
//! @return the nebula morphological type string. //! @return the nebula morphological type string.
QString getMorphologicalTypeString() const; QString getMorphologicalTypeString() const;
float getSurfaceBrightness(const StelCore* core) const; float getSurfaceBrightness(const StelCore* core) const;
float getSurfaceBrightnessWithExtinction(const StelCore* core) const ; float getSurfaceBrightnessWithExtinction(const StelCore* core) const ;
//! Get the surface area. //! Get the surface area.
//! @return surface area in square degrees. //! @return surface area in square degrees.
float getSurfaceArea(void) const; float getSurfaceArea(void) const;
void setProperName(QString name) { englishName = name; } void setProperName(QString name) { englishName = name; }
void addNameAlias(QString name) { englishAliases.append(name); }
void removeAllNames() { englishName=""; englishAliases.clear(); }
//! Get designation for DSO (with priority: M, C, NGC, IC, B, Sh2, V dB, RCW, LDN, LBN, Cr, Mel, PGC, UGC, Ced) //! Get designation for DSO (with priority: M, C, NGC, IC, B, Sh2, V dB, RCW, LDN, LBN, Cr, Mel, PGC, UGC, Ced)
//! @return a designation //! @return a designation
QString getDSODesignation(); QString getDSODesignation();
private: private:
friend struct DrawNebulaFuncObject; friend struct DrawNebulaFuncObject;
//! @enum NebulaType Nebula types
enum NebulaType
{
NebGx = 0, //!< Galaxy
NebAGx = 1, //!< Active galaxy
NebRGx = 2, //!< Radio galaxy
NebIGx = 3, //!< Interacting galaxy
NebQSO = 4, //!< Quasar
NebCl = 5, //!< Star cluster
NebOc = 6, //!< Open star cluster
NebGc = 7, //!< Globular star cluster, usually
in the Milky Way Galaxy
NebSA = 8, //!< Stellar association
NebSC = 9, //!< Star cloud
NebN = 10, //!< A nebula
NebPn = 11, //!< Planetary nebula
NebDn = 12, //!< Dark Nebula
NebRn = 13, //!< Reflection nebula
NebBn = 14, //!< Bipolar nebula
NebEn = 15, //!< Emission nebula
NebCn = 16, //!< Cluster associated with nebulos
ity
NebHII = 17, //!< HII Region
NebSNR = 18, //!< Supernova remnant
NebISM = 19, //!< Interstellar matter
NebEMO = 20, //!< Emission object
NebBLL = 21, //!< BL Lac object
NebBLA = 22, //!< Blazar
NebMolCld = 23, //!< Molecular Cloud
NebYSO = 24, //!< Young Stellar Object
NebPossQSO = 25, //!< Possible Quasar
NebPossPN = 26, //!< Possible Planetary Nebula
NebPPN = 27, //!< Protoplanetary Nebula
NebStar = 28, //!< Star
NebUnknown = 29 //!< Unknown type, catalog errors, "
Unidentified Southern Objects" etc.
};
//! Translate nebula name using the passed translator //! Translate nebula name using the passed translator
void translateName(const StelTranslator& trans) {nameI18 = trans.qtr void translateName(const StelTranslator& trans)
anslate(englishName);} {
nameI18 = trans.qtranslate(englishName);
nameI18Aliases.clear();
foreach(QString alias, englishAliases)
nameI18Aliases.append(trans.qtranslate(alias));
}
void readDSO(QDataStream& in); void readDSO(QDataStream& in);
void drawLabel(StelPainter& sPainter, float maxMagLabel); void drawLabel(StelPainter& sPainter, float maxMagLabel);
void drawHints(StelPainter& sPainter, float maxMagHints); void drawHints(StelPainter& sPainter, float maxMagHints);
bool objectInDisplayedType() const; bool objectInDisplayedType() const;
//! Get the printable description of morphological nebula type. //! Get the printable description of morphological nebula type.
//! @return the nebula morphological type string. //! @return the nebula morphological type string.
skipping to change at line 205 skipping to change at line 218
unsigned int VdB_nb; // Van den Bergh Catalog number (Cat alogue of Reflection Nebulae (Van den Bergh, 1966)) unsigned int VdB_nb; // Van den Bergh Catalog number (Cat alogue of Reflection Nebulae (Van den Bergh, 1966))
unsigned int RCW_nb; // RCW Catalog number (H-α emission regions in Southern Milky Way (Rodgers+, 1960)) unsigned int RCW_nb; // RCW Catalog number (H-α emission regions in Southern Milky Way (Rodgers+, 1960))
unsigned int LDN_nb; // LDN Catalog number (Lynds' Catalo gue of Dark Nebulae (Lynds, 1962)) unsigned int LDN_nb; // LDN Catalog number (Lynds' Catalo gue of Dark Nebulae (Lynds, 1962))
unsigned int LBN_nb; // LBN Catalog number (Lynds' Catalo gue of Bright Nebulae (Lynds, 1965)) unsigned int LBN_nb; // LBN Catalog number (Lynds' Catalo gue of Bright Nebulae (Lynds, 1965))
unsigned int Cr_nb; // Collinder Catalog number unsigned int Cr_nb; // Collinder Catalog number
unsigned int Mel_nb; // Melotte Catalog number unsigned int Mel_nb; // Melotte Catalog number
unsigned int PGC_nb; // PGC number (Catalog of galaxies) unsigned int PGC_nb; // PGC number (Catalog of galaxies)
unsigned int UGC_nb; // UGC number (The Uppsala General C atalogue of Galaxies) unsigned int UGC_nb; // UGC number (The Uppsala General C atalogue of Galaxies)
QString Ced_nb; // Ced number (Cederblad Catalog of bright diffuse Galactic nebulae) QString Ced_nb; // Ced number (Cederblad Catalog of bright diffuse Galactic nebulae)
QString englishName; // English name QString englishName; // English name
QStringList englishAliases; // English aliases
QString nameI18; // Nebula name QString nameI18; // Nebula name
QStringList nameI18Aliases; // Nebula aliases
QString mTypeString; // Morphological type of object (as string) QString mTypeString; // Morphological type of object (as string)
float bMag; // B magnitude float bMag; // B magnitude
float vMag; // V magnitude. For Dark Nebulae, op acity is stored here. float vMag; // V magnitude. For Dark Nebulae, op acity is stored here.
float majorAxisSize; // Major axis size in degrees float majorAxisSize; // Major axis size in degrees
float minorAxisSize; // Minor axis size in degrees float minorAxisSize; // Minor axis size in degrees
int orientationAngle; // Orientation angle in degrees int orientationAngle; // Orientation angle in degrees
float oDistance; // distance (Mpc for galaxies, kpc f or other objects) float oDistance; // distance (Mpc for galaxies, kpc f or other objects)
float oDistanceErr; // Error of distance (Mpc for galaxi es, kpc for other objects) float oDistanceErr; // Error of distance (Mpc for galaxi es, kpc for other objects)
float redshift; float redshift;
float redshiftErr; float redshiftErr;
 End of changes. 9 change blocks. 
40 lines changed or deleted 54 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/