25 #include "StelObject.hpp" 45 static const QString NEBULA_TYPE;
158 virtual QString
getType()
const {
return NEBULA_TYPE;}
167 QString getEnglishAliases()
const;
168 QString getI18nAliases()
const;
173 void setLabelColor(
const Vec3f& v) {labelColor = v;}
174 void setCircleColor(
const Vec3f& v) {circleColor = v;}
186 float getSurfaceBrightness(
const StelCore* core,
bool arcsec=
false)
const;
187 float getSurfaceBrightnessWithExtinction(
const StelCore* core,
bool arcsec=
false)
const;
195 void setProperName(QString name) { englishName = name; }
196 void addNameAlias(QString name) { englishAliases.append(name); }
197 void removeAllNames() { englishName=
""; englishAliases.clear(); }
203 bool objectInDisplayedCatalog()
const;
206 friend struct DrawNebulaFuncObject;
212 nameI18Aliases.clear();
213 foreach(QString alias, englishAliases)
214 nameI18Aliases.append(trans.
qtranslate(alias));
217 void readDSO(QDataStream& in);
219 void drawLabel(
StelPainter& sPainter,
float maxMagLabel)
const;
220 void drawHints(
StelPainter& sPainter,
float maxMagHints)
const;
221 void drawOutlines(
StelPainter& sPainter,
float maxMagHints)
const;
223 bool objectInDisplayedType()
const;
225 Vec3f getHintColor()
const;
226 float getVisibilityLevelByMagnitude()
const;
230 QString getMorphologicalTypeDescription()
const;
256 QStringList englishAliases;
258 QStringList nameI18Aliases;
264 int orientationAngle;
285 static float hintsBrightness;
287 static Vec3f labelColor;
288 static Vec3f circleColor;
289 static Vec3f galaxyColor;
290 static Vec3f radioGalaxyColor;
291 static Vec3f activeGalaxyColor;
292 static Vec3f interactingGalaxyColor;
293 static Vec3f quasarColor;
294 static Vec3f nebulaColor;
295 static Vec3f planetaryNebulaColor;
296 static Vec3f reflectionNebulaColor;
297 static Vec3f bipolarNebulaColor;
298 static Vec3f emissionNebulaColor;
299 static Vec3f darkNebulaColor;
300 static Vec3f hydrogenRegionColor;
301 static Vec3f supernovaRemnantColor;
302 static Vec3f interstellarMatterColor;
303 static Vec3f clusterWithNebulosityColor;
304 static Vec3f clusterColor;
305 static Vec3f openClusterColor;
306 static Vec3f globularClusterColor;
307 static Vec3f stellarAssociationColor;
308 static Vec3f starCloudColor;
309 static Vec3f emissionObjectColor;
310 static Vec3f blLacObjectColor;
311 static Vec3f blazarColor;
312 static Vec3f molecularCloudColor;
313 static Vec3f youngStellarObjectColor;
314 static Vec3f possibleQuasarColor;
315 static Vec3f possiblePlanetaryNebulaColor;
316 static Vec3f protoplanetaryNebulaColor;
317 static Vec3f starColor;
318 static Vec3f symbioticStarColor;
319 static Vec3f emissionLineStarColor;
320 static Vec3f supernovaCandidateColor;
321 static Vec3f supernovaRemnantCandidateColor;
322 static Vec3f galaxyClusterColor;
324 static bool drawHintProportional;
325 static bool surfaceBrightnessUsage;
326 static bool designationUsage;
328 static bool flagUseTypeFilters;
329 static CatalogGroup catalogFilters;
330 static TypeGroup typeFilters;
332 static bool flagUseArcsecSurfaceBrightness;
333 static bool flagUseShortNotationSurfaceBrightness;
334 static bool flagUseOutlines;
336 std::vector<std::vector<Vec3f> *> outlineSegments;
339 Q_DECLARE_OPERATORS_FOR_FLAGS(Nebula::CatalogGroup)
340 Q_DECLARE_OPERATORS_FOR_FLAGS(Nebula::TypeGroup)
342 #endif // _NEBULA_HPP_ HYPERLEDA. I. Catalog of galaxies (PGC)
A catalogue of Hα-emission regions in the southern Milky Way (RCW)
virtual float getVMagnitude(const StelCore *core) const
Return object's apparent V magnitude as seen from observer, without including extinction.
Sharpless Catalogue (Sh 2)
Possible Planetary Nebula.
Catalogue of Galactic Planetary Nebulae (PK)
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.
Class used to translate strings to any language.
virtual QString getType() const
Return object's type. It should be the name of the class.
The Uppsala General Catalogue of Galaxies.
virtual SphericalRegionP getRegion() const
Default implementation of the getRegion method.
Cederblad Catalog of bright diffuse Galactic nebulae (Ced)
Supernova Remnant Candidate.
New General Catalogue (NGC)
The base abstract class for sky objects used in Stellarium like Stars, Planets, Constellations etc...
Van den Bergh Catalogue of reflection nebulae (VdB)
A shared pointer on a SphericalRegion.
Define the StelTextureSP type.
float getSurfaceArea(void) const
Get the surface area.
float getContrastIndex(const StelCore *core) const
Compute an extended object's contrast index.
Atlas of Peculiar Galaxies (Arp)
QString getMorphologicalTypeString() const
Get the printable morphological nebula Type.
virtual QString getID() const
Returns a unique identifier for this object.
Cluster associated with nebulosity.
Main class for Stellarium core processing.
virtual QString getNameI18n() const
Return translated object's name.
A catalogue of Galactic supernova remnants (Green, 2014) (SNR G)
static const CatalogGroupFlags AllCatalogs
A pre-defined set of specifiers for the catalogs filter.
virtual Vec3d getJ2000EquatorialPos(const StelCore *) const
Get observer-centered equatorial coordinates at equinox J2000.
virtual QVariantMap getInfoMap(const StelCore *core) const
In addition to the entries from StelObject::getInfoMap(), Nebula objects provide. ...
Unknown type, catalog errors, "Unidentified Southern Objects" etc.
Define some translation macros.
virtual QString getEnglishName() const
Return object's name in english.
virtual QString getInfoString(const StelCore *core, const InfoStringGroup &flags) const
Nebula support the following InfoStringGroup flags:
Provides functions for performing openGL drawing operations.
virtual double getAngularSize(const StelCore *) const
Return the angular radius of a circle containing the object as seen from the observer with the circle...
Collinder Catalogue (Cr or Col)
Different Active Galaxies.
Lynds' Catalogue of Bright Nebulae (LBN)
QString getDSODesignation() const
Get designation for DSO (with priority: M, C, NGC, IC, B, Sh2, VdB, RCW, LDN, LBN, Cr, Mel, PGC, UGC, Ced)
QString qtranslate(const QString &s, const QString &c=QString()) const
Translate input message and return it as a QString.
QString getTypeString() const
Get the printable nebula Type.
A Catalog of Rich Clusters of Galaxies (Abell+ 1989) (ACO)
Lynds' Catalogue of Dark Nebulae (LDN)
QSharedPointer< StelTexture > StelTextureSP
Use shared pointer to simplify memory managment.
virtual double getCloseViewFov(const StelCore *core=Q_NULLPTR) const
Return the best FOV in degree to use for a close view of the object.
Globular star cluster, usually in the Milky Way Galaxy.
Strasbourg-ESO Catalogue of Galactic Planetary Nebulae (Acker+, 1992) (PN G)
Melotte Catalogue of Deep Sky Objects (Mel)
virtual Vec3f getInfoColor() const
Get a color used to display info about the object.
Manage a collection of nebulae.
Interacting galaxies catalogue by Vorontsov-Velyaminov (VV)