Stellarium  0.16.1
1 /*
2  * Stellarium
3  * Copyright (C) 2002 Fabien Chereau
4  * Copyright (C) 2011 Alexander Wolf
5  * Copyright (C) 2015 Georg Zotti
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
20  */
22 #ifndef _NEBULAMGR_HPP_
23 #define _NEBULAMGR_HPP_
25 #include "StelObjectType.hpp"
26 #include "StelFader.hpp"
27 #include "StelSphericalIndex.hpp"
28 #include "StelObjectModule.hpp"
29 #include "StelTextureTypes.hpp"
30 #include "Nebula.hpp"
32 #include <QString>
33 #include <QStringList>
34 #include <QFont>
36 class StelTranslator;
37 class StelToneReproducer;
38 class QSettings;
39 class StelPainter;
41 typedef QSharedPointer<Nebula> NebulaP;
46 // GZ: This doc seems outdated/misleading - photo textures are not mamaged here but in StelSkyImageTile
49 {
51  //StelActions
52  Q_PROPERTY(bool flagHintDisplayed
53  READ getFlagHints
54  WRITE setFlagHints
56  Q_PROPERTY(bool flagTypeFiltersUsage
60  //StelProperties
61  Q_PROPERTY(Nebula::TypeGroup typeFilters
62  READ getTypeFilters
63  WRITE setTypeFilters
64  NOTIFY typeFiltersChanged
65  )
66  Q_PROPERTY(Nebula::CatalogGroup catalogFilters
67  READ getCatalogFilters
68  WRITE setCatalogFilters
70  )
71  Q_PROPERTY(bool hintsProportional
74  NOTIFY hintsProportionalChanged
75  )
76  Q_PROPERTY(bool flagOutlinesDisplayed
77  READ getFlagOutlines
78  WRITE setFlagOutlines
79  NOTIFY flagOutlinesDisplayedChanged
80  )
81  Q_PROPERTY(bool flagSurfaceBrightnessUsage
84  NOTIFY flagSurfaceBrightnessUsageChanged
85  )
86  Q_PROPERTY(bool flagSurfaceBrightnessArcsecUsage
89  NOTIFY flagSurfaceBrightnessArcsecUsageChanged
90  )
91  Q_PROPERTY(bool flagSurfaceBrightnessShortNotationUsage
94  NOTIFY flagSurfaceBrightnessShortNotationUsageChanged
95  )
96  Q_PROPERTY(double labelsAmount
97  READ getLabelsAmount
98  WRITE setLabelsAmount
99  NOTIFY labelsAmountChanged
100  )
101  Q_PROPERTY(double hintsAmount
102  READ getHintsAmount
103  WRITE setHintsAmount
104  NOTIFY hintsAmountChanged
105  )
106  Q_PROPERTY(bool flagDesignationLabels
108  WRITE setDesignationUsage
109  NOTIFY designationUsageChanged
110  )
111  // Colors
112  Q_PROPERTY(Vec3f labelsColor
113  READ getLabelsColor
114  WRITE setLabelsColor
115  NOTIFY labelsColorChanged
116  )
117  Q_PROPERTY(Vec3f circlesColor
118  READ getCirclesColor
119  WRITE setCirclesColor
120  NOTIFY circlesColorChanged
121  )
122  Q_PROPERTY(Vec3f galaxiesColor
123  READ getGalaxyColor
124  WRITE setGalaxyColor
125  NOTIFY galaxiesColorChanged
126  )
127  Q_PROPERTY(Vec3f activeGalaxiesColor
130  NOTIFY activeGalaxiesColorChanged
131  )
132  Q_PROPERTY(Vec3f radioGalaxiesColor
134  WRITE setRadioGalaxyColor
135  NOTIFY radioGalaxiesColorChanged
136  )
137  Q_PROPERTY(Vec3f interactingGalaxiesColor
140  NOTIFY interactingGalaxiesColorChanged
141  )
142  Q_PROPERTY(Vec3f quasarsColor
143  READ getQuasarColor
144  WRITE setQuasarColor
145  NOTIFY quasarsColorChanged
146  )
147  Q_PROPERTY(Vec3f possibleQuasarsColor
150  NOTIFY possibleQuasarsColorChanged
151  )
152  Q_PROPERTY(Vec3f clustersColor
153  READ getClusterColor
154  WRITE setClusterColor
155  NOTIFY clustersColorChanged
156  )
157  Q_PROPERTY(Vec3f openClustersColor
159  WRITE setOpenClusterColor
160  NOTIFY openClustersColorChanged
161  )
162  Q_PROPERTY(Vec3f globularClustersColor
165  NOTIFY globularClustersColorChanged
166  )
167  Q_PROPERTY(Vec3f stellarAssociationsColor
170  NOTIFY stellarAssociationsColorChanged
171  )
172  Q_PROPERTY(Vec3f starCloudsColor
173  READ getStarCloudColor
174  WRITE setStarCloudColor
175  NOTIFY starCloudsColorChanged
176  )
177  Q_PROPERTY(Vec3f starsColor
178  READ getStarColor
179  WRITE setStarColor
180  NOTIFY starsColorChanged
181  )
182  Q_PROPERTY(Vec3f symbioticStarsColor
185  NOTIFY symbioticStarsColorChanged
186  )
187  Q_PROPERTY(Vec3f emissionLineStarsColor
190  NOTIFY emissionLineStarsColorChanged
191  )
192  Q_PROPERTY(Vec3f nebulaeColor
193  READ getNebulaColor
194  WRITE setNebulaColor
195  NOTIFY nebulaeColorChanged
196  )
197  Q_PROPERTY(Vec3f planetaryNebulaeColor
200  NOTIFY planetaryNebulaeColorChanged
201  )
202  Q_PROPERTY(Vec3f darkNebulaeColor
203  READ getDarkNebulaColor
204  WRITE setDarkNebulaColor
205  NOTIFY darkNebulaeColorChanged
206  )
207  Q_PROPERTY(Vec3f reflectionNebulaeColor
210  NOTIFY reflectionNebulaeColorChanged
211  )
212  Q_PROPERTY(Vec3f bipolarNebulaeColor
215  NOTIFY bipolarNebulaeColorChanged
216  )
217  Q_PROPERTY(Vec3f emissionNebulaeColor
220  NOTIFY emissionNebulaeColorChanged
221  )
222  Q_PROPERTY(Vec3f possiblePlanetaryNebulaeColor
225  NOTIFY possiblePlanetaryNebulaeColorChanged
226  )
227  Q_PROPERTY(Vec3f protoplanetaryNebulaeColor
230  NOTIFY protoplanetaryNebulaeColorChanged
231  )
232  Q_PROPERTY(Vec3f clusterWithNebulosityColor
235  NOTIFY clusterWithNebulosityColorChanged
236  )
237  Q_PROPERTY(Vec3f hydrogenRegionsColor
240  NOTIFY hydrogenRegionsColorChanged
241  )
242  Q_PROPERTY(Vec3f interstellarMatterColor
245  NOTIFY interstellarMatterColorChanged
246  )
247  Q_PROPERTY(Vec3f emissionObjectsColor
250  NOTIFY emissionObjectsColorChanged
251  )
252  Q_PROPERTY(Vec3f molecularCloudsColor
255  NOTIFY molecularCloudsColorChanged
256  )
257  Q_PROPERTY(Vec3f blLacObjectsColor
259  WRITE setBlLacObjectColor
260  NOTIFY blLacObjectsColorChanged
261  )
262  Q_PROPERTY(Vec3f blazarsColor
263  READ getBlazarColor
264  WRITE setBlazarColor
265  NOTIFY blazarsColorChanged
266  )
267  Q_PROPERTY(Vec3f youngStellarObjectsColor
270  NOTIFY youngStellarObjectsColorChanged
271  )
272  Q_PROPERTY(Vec3f supernovaRemnantsColor
275  NOTIFY supernovaRemnantsColorChanged
276  )
277  Q_PROPERTY(Vec3f supernovaCandidatesColor
280  NOTIFY supernovaCandidatesColorChanged
281  )
282  Q_PROPERTY(Vec3f supernovaRemnantCandidatesColor
285  NOTIFY supernovaRemnantCandidatesColorChanged
286  )
287  Q_PROPERTY(Vec3f galaxyClustersColor
290  NOTIFY galaxyClustersColorChanged
291  )
293 public:
294  NebulaMgr();
295  virtual ~NebulaMgr();
298  // Methods defined in the StelModule class
306  virtual void init();
309  virtual void draw(StelCore* core);
312  virtual void update(double deltaTime) {hintsFader.update((int)(deltaTime*1000)); flagShow.update((int)(deltaTime*1000));}
315  virtual double getCallOrder(StelModuleActionName actionName) const;
318  // Methods defined in StelObjectManager class
324  virtual QList<StelObjectP> searchAround(const Vec3d& v, double limitFov, const StelCore* core) const;
329  virtual StelObjectP searchByNameI18n(const QString& nameI18n) const;
333  virtual StelObjectP searchByName(const QString& name) const;
335  virtual StelObjectP searchByID(const QString &id) const { return searchByName(id); }
342  virtual QStringList listMatchingObjects(const QString& objPrefix, int maxNbItem=5, bool useStartOfWords=false, bool inEnglish=false) const;
344  virtual QStringList listAllObjects(bool inEnglish) const;
345  virtual QStringList listAllObjectsByType(const QString& objType, bool inEnglish) const;
346  virtual QString getName() const { return "Deep-sky objects"; }
347  virtual QString getStelObjectType() const { return Nebula::NEBULA_TYPE; }
350  float computeMaxMagHint(const class StelSkyDrawer* skyDrawer) const;
358  const QVector<NebulaP>& getAllDeepSkyObjects() const { return dsoArray; }
361  QList<NebulaP> getDeepSkyObjectsByType(const QString& objType);
364  // Properties setters and getters
365 public slots:
366  void setCatalogFilters(Nebula::CatalogGroup cflags);
367  Nebula::CatalogGroup getCatalogFilters() const { return Nebula::catalogFilters; }
369  void setTypeFilters(Nebula::TypeGroup tflags);
370  Nebula::TypeGroup getTypeFilters() const { return Nebula::typeFilters; }
378  void setCirclesColor(const Vec3f& c);
380  const Vec3f getCirclesColor(void) const;
388  void setGalaxyColor(const Vec3f& c);
390  const Vec3f getGalaxyColor(void) const;
398  void setActiveGalaxyColor(const Vec3f& c);
400  const Vec3f getActiveGalaxyColor(void) const;
408  void setInteractingGalaxyColor(const Vec3f& c);
410  const Vec3f getInteractingGalaxyColor(void) const;
418  void setRadioGalaxyColor(const Vec3f& c);
420  const Vec3f getRadioGalaxyColor(void) const;
428  void setQuasarColor(const Vec3f& c);
430  const Vec3f getQuasarColor(void) const;
439  void setBrightNebulaColor(const Vec3f& c);
442  const Vec3f getBrightNebulaColor(void) const;
450  void setNebulaColor(const Vec3f& c);
452  const Vec3f getNebulaColor(void) const;
460  void setPlanetaryNebulaColor(const Vec3f& c);
462  const Vec3f getPlanetaryNebulaColor(void) const;
470  void setReflectionNebulaColor(const Vec3f& c);
472  const Vec3f getReflectionNebulaColor(void) const;
480  void setBipolarNebulaColor(const Vec3f& c);
482  const Vec3f getBipolarNebulaColor(void) const;
490  void setEmissionNebulaColor(const Vec3f& c);
492  const Vec3f getEmissionNebulaColor(void) const;
500  void setHydrogenRegionColor(const Vec3f& c);
502  const Vec3f getHydrogenRegionColor(void) const;
510  void setSupernovaRemnantColor(const Vec3f& c);
512  const Vec3f getSupernovaRemnantColor(void) const;
520  void setSupernovaCandidateColor(const Vec3f& c);
522  const Vec3f getSupernovaCandidateColor(void) const;
533  const Vec3f getSupernovaRemnantCandidateColor(void) const;
541  void setInterstellarMatterColor(const Vec3f& c);
543  const Vec3f getInterstellarMatterColor(void) const;
551  void setDarkNebulaColor(const Vec3f& c);
553  const Vec3f getDarkNebulaColor(void) const;
561  void setClusterWithNebulosityColor(const Vec3f& c);
563  const Vec3f getClusterWithNebulosityColor(void) const;
571  void setClusterColor(const Vec3f& c);
573  const Vec3f getClusterColor(void) const;
581  void setOpenClusterColor(const Vec3f& c);
583  const Vec3f getOpenClusterColor(void) const;
591  void setGlobularClusterColor(const Vec3f& c);
593  const Vec3f getGlobularClusterColor(void) const;
601  void setStellarAssociationColor(const Vec3f& c);
603  const Vec3f getStellarAssociationColor(void) const;
611  void setStarCloudColor(const Vec3f& c);
613  const Vec3f getStarCloudColor(void) const;
621  void setEmissionObjectColor(const Vec3f& c);
623  const Vec3f getEmissionObjectColor(void) const;
631  void setBlLacObjectColor(const Vec3f& c);
633  const Vec3f getBlLacObjectColor(void) const;
641  void setBlazarColor(const Vec3f& c);
643  const Vec3f getBlazarColor(void) const;
651  void setMolecularCloudColor(const Vec3f& c);
653  const Vec3f getMolecularCloudColor(void) const;
661  void setYoungStellarObjectColor(const Vec3f& c);
663  const Vec3f getYoungStellarObjectColor(void) const;
671  void setPossibleQuasarColor(const Vec3f& c);
673  const Vec3f getPossibleQuasarColor(void) const;
681  void setPossiblePlanetaryNebulaColor(const Vec3f& c);
683  const Vec3f getPossiblePlanetaryNebulaColor(void) const;
691  void setProtoplanetaryNebulaColor(const Vec3f& c);
693  const Vec3f getProtoplanetaryNebulaColor(void) const;
701  void setStarColor(const Vec3f& c);
703  const Vec3f getStarColor(void) const;
711  void setSymbioticStarColor(const Vec3f& c);
713  const Vec3f getSymbioticStarColor(void) const;
721  void setEmissionLineStarColor(const Vec3f& c);
723  const Vec3f getEmissionLineStarColor(void) const;
731  void setGalaxyClusterColor(const Vec3f& c);
733  const Vec3f getGalaxyClusterColor(void) const;
737  void setHintsFadeDuration(float duration) {hintsFader.setDuration((int) (duration * 1000.f));}
740  void setFlagHints(bool b) { if (hintsFader!=b) { hintsFader=b; emit flagHintsDisplayedChanged(b);}}
742  bool getFlagHints(void) const {return hintsFader;}
745  void setHintsProportional(const bool proportional);
747  bool getHintsProportional(void) const;
750  void setFlagOutlines(const bool flag);
752  bool getFlagOutlines(void) const;
755  void setDesignationUsage(const bool flag);
757  bool getDesignationUsage(void) const;
760  void setFlagSurfaceBrightnessUsage(const bool usage) {if(usage!=Nebula::surfaceBrightnessUsage){ Nebula::surfaceBrightnessUsage=usage; emit flagSurfaceBrightnessUsageChanged(usage);}}
762  bool getFlagSurfaceBrightnessUsage(void) const { return Nebula::surfaceBrightnessUsage; }
765  void setFlagSurfaceBrightnessArcsecUsage(const bool usage) { Nebula::flagUseArcsecSurfaceBrightness=usage; }
767  bool getFlagSurfaceBrightnessArcsecUsage(void) const { return Nebula::flagUseArcsecSurfaceBrightness; }
770  void setFlagSurfaceBrightnessShortNotationUsage(const bool usage) { Nebula::flagUseShortNotationSurfaceBrightness=usage; }
772  bool getFlagSurfaceBrightnessShortNotationUsage(void) const { return Nebula::flagUseShortNotationSurfaceBrightness; }
775  void setFlagShow(bool b) { flagShow = b; }
777  bool getFlagShow(void) const { return flagShow; }
780  void setFlagUseTypeFilters(bool b) { if (Nebula::flagUseTypeFilters!=b) { Nebula::flagUseTypeFilters=b; emit flagUseTypeFiltersChanged(b);}}
782  bool getFlagUseTypeFilters(void) const { return Nebula::flagUseTypeFilters; }
790  void setLabelsColor(const Vec3f& c);
792  const Vec3f getLabelsColor(void) const;
797  void setLabelsAmount(double a) {if(a!=labelsAmount){labelsAmount=a; emit labelsAmountChanged(a);}}
800  double getLabelsAmount(void) const {return labelsAmount;}
805  void setHintsAmount(double f) {if(hintsAmount!=f){hintsAmount = f; emit hintsAmountChanged(f);}}
808  double getHintsAmount(void) const {return hintsAmount;}
810 signals:
812  void flagHintsDisplayedChanged(bool b);
814  void flagUseTypeFiltersChanged(bool b);
816  void catalogFiltersChanged(Nebula::CatalogGroup flags);
818  void typeFiltersChanged(Nebula::TypeGroup flags);
819  void hintsProportionalChanged(bool b);
820  void flagOutlinesDisplayedChanged(bool b);
821  void designationUsageChanged(bool b);
822  void flagSurfaceBrightnessUsageChanged(bool b);
823  void flagSurfaceBrightnessArcsecUsageChanged(bool b);
824  void flagSurfaceBrightnessShortNotationUsageChanged(bool b);
825  void labelsAmountChanged(double a);
826  void hintsAmountChanged(double f);
828  void labelsColorChanged(const Vec3f & color) const;
829  void circlesColorChanged(const Vec3f & color) const;
830  void galaxiesColorChanged(const Vec3f & color) const;
831  void activeGalaxiesColorChanged(const Vec3f & color) const;
832  void radioGalaxiesColorChanged(const Vec3f & color) const;
833  void interactingGalaxiesColorChanged(const Vec3f & color) const;
834  void quasarsColorChanged(const Vec3f & color) const;
835  void possibleQuasarsColorChanged(const Vec3f & color) const;
836  void clustersColorChanged(const Vec3f & color) const;
837  void openClustersColorChanged(const Vec3f & color) const;
838  void globularClustersColorChanged(const Vec3f & color) const;
839  void stellarAssociationsColorChanged(const Vec3f & color) const;
840  void starCloudsColorChanged(const Vec3f & color) const;
841  void starsColorChanged(const Vec3f & color) const;
842  void symbioticStarsColorChanged(const Vec3f & color) const;
843  void emissionLineStarsColorChanged(const Vec3f & color) const;
844  void nebulaeColorChanged(const Vec3f & color) const;
845  void planetaryNebulaeColorChanged(const Vec3f & color) const;
846  void darkNebulaeColorChanged(const Vec3f & color) const;
847  void reflectionNebulaeColorChanged(const Vec3f & color) const;
848  void bipolarNebulaeColorChanged(const Vec3f & color) const;
849  void emissionNebulaeColorChanged(const Vec3f & color) const;
850  void possiblePlanetaryNebulaeColorChanged(const Vec3f & color) const;
851  void protoplanetaryNebulaeColorChanged(const Vec3f & color) const;
852  void clusterWithNebulosityColorChanged(const Vec3f & color) const;
853  void hydrogenRegionsColorChanged(const Vec3f & color) const;
854  void interstellarMatterColorChanged(const Vec3f & color) const;
855  void emissionObjectsColorChanged(const Vec3f & color) const;
856  void molecularCloudsColorChanged(const Vec3f & color) const;
857  void blLacObjectsColorChanged(const Vec3f & color) const;
858  void blazarsColorChanged(const Vec3f & color) const;
859  void youngStellarObjectsColorChanged(const Vec3f & color) const;
860  void supernovaRemnantsColorChanged(const Vec3f & color) const;
861  void supernovaCandidatesColorChanged(const Vec3f & color) const;
862  void supernovaRemnantCandidatesColorChanged(const Vec3f & color) const;
863  void galaxyClustersColorChanged(const Vec3f & color) const;
865 private slots:
869  void updateI18n();
874  void updateSkyCulture(const QString& skyCultureDir);
876 private:
879  NebulaP search(const QString& name);
882  NebulaP search(const Vec3d& pos);
890  void loadNebulaSet(const QString& setName);
893  void drawPointer(const StelCore* core, StelPainter& sPainter);
895  NebulaP searchDSO(unsigned int DSO);
896  NebulaP searchM(unsigned int M);
897  NebulaP searchNGC(unsigned int NGC);
898  NebulaP searchIC(unsigned int IC);
899  NebulaP searchC(unsigned int C);
900  NebulaP searchB(unsigned int B);
901  NebulaP searchSh2(unsigned int Sh2);
902  NebulaP searchVdB(unsigned int VdB);
903  NebulaP searchRCW(unsigned int RCW);
904  NebulaP searchLDN(unsigned int LDN);
905  NebulaP searchLBN(unsigned int LBN);
906  NebulaP searchCr(unsigned int Cr);
907  NebulaP searchMel(unsigned int Mel);
908  NebulaP searchPGC(unsigned int PGC);
909  NebulaP searchUGC(unsigned int UGC);
910  NebulaP searchCed(QString Ced);
911  NebulaP searchArp(unsigned int Arp);
912  NebulaP searchVV(unsigned int VV);
913  NebulaP searchPK(QString PK);
914  NebulaP searchPNG(QString PNG);
915  NebulaP searchSNRG(QString SNRG);
916  NebulaP searchACO(QString ACO);
918  // Load catalog of DSO
919  bool loadDSOCatalog(const QString& filename);
920  void convertDSOCatalog(const QString& in, const QString& out, bool decimal);
921  // Load proper names for DSO
922  bool loadDSONames(const QString& filename);
923  // Load outlines for DSO
924  bool loadDSOOutlines(const QString& filename);
926  QVector<NebulaP> dsoArray; // The DSO list
927  QHash<unsigned int, NebulaP> dsoIndex;
929  LinearFader hintsFader;
930  LinearFader flagShow;
933  StelSphericalIndex nebGrid;
936  double hintsAmount;
938  double labelsAmount;
941  StelTextureSP texPointer;
943  QFont nebulaFont; // Font used for names printing
945  // For DSO convertor
946  bool flagConverter;
947  bool flagDecimalCoordinates;
948 };
950 #endif // _NEBULAMGR_HPP_
const Vec3f getOpenClusterColor(void) const
Get current value of the open star cluster symbol color.
void setHintsFadeDuration(float duration)
Set how long it takes for nebula hints to fade in and out when turned on and off. ...
Definition: NebulaMgr.hpp:737
virtual void update(double deltaTime)
Update state which is time dependent.
Definition: NebulaMgr.hpp:312
const Vec3f getClusterColor(void) const
Get current value of the star cluster symbol color.
virtual StelObjectP searchByName(const QString &name) const
Return the matching nebula if exists or Q_NULLPTR.
const Vec3f getBipolarNebulaColor(void) const
Get current value of the bipolar nebula circle color.
void setYoungStellarObjectColor(const Vec3f &c)
Set the color used to draw the young stellar objects symbols.
virtual StelObjectP searchByID(const QString &id) const
Return the StelObject with the given ID if exists or the empty StelObject if not found.
Definition: NebulaMgr.hpp:335
void setInteractingGalaxyColor(const Vec3f &c)
Set the color used to draw the interacting galaxy symbols (ellipses).
Provide a set of methods used to draw sky objects taking into account eyes adaptation, zoom level, instrument model and artificially set magnitude limits.
virtual StelObjectP searchByNameI18n(const QString &nameI18n) const
Return the matching nebula object&#39;s pointer if exists or an "empty" StelObjectP.
void setBlazarColor(const Vec3f &c)
Set the color used to draw the blazars symbols.
void setClusterColor(const Vec3f &c)
Set the color used to draw the star cluster symbols (Open/Globular).
void setFlagSurfaceBrightnessUsage(const bool usage)
Set whether hints (symbols) should be visible according to surface brightness value.
Definition: NebulaMgr.hpp:760
bool getFlagOutlines(void) const
Get flag for usage outlines for big DSO instead their hints.
void setClusterWithNebulosityColor(const Vec3f &c)
Set the color used to draw the cluster associated with nebulosity symbols.
void setFlagOutlines(const bool flag)
Set flag for usage outlines for big DSO instead their hints.
Class used to translate strings to any language.
void setPlanetaryNebulaColor(const Vec3f &c)
Set the color used to draw the planetary nebulae symbols.
bool getFlagShow(void) const
Get value of flag used to turn on and off Nebula rendering.
Definition: NebulaMgr.hpp:777
void setStellarAssociationColor(const Vec3f &c)
Set the color used to draw the stellar associations symbols.
void setSymbioticStarColor(const Vec3f &c)
Set the color used to draw the symbiotic stars symbols.
void setBrightNebulaColor(const Vec3f &c)
Set the color used to draw the bright nebula symbols (emission nebula boxes, planetary nebulae circle...
Implementation of StelFader which implements a linear transition.
Definition: StelFader.hpp:77
const Vec3f getRadioGalaxyColor(void) const
Get current value of the radio galaxy symbol color.
void setGalaxyClusterColor(const Vec3f &c)
Set the color used to draw the cluster of galaxies symbols.
const Vec3f getGalaxyClusterColor(void) const
Get current value of the cluster of galaxies symbol color.
const Vec3f getStarCloudColor(void) const
Get current value of the star cloud symbol color.
void setFlagSurfaceBrightnessShortNotationUsage(const bool usage)
Set flag for usage of short notation for measure unit to surface brightness value.
Definition: NebulaMgr.hpp:770
Define the StelTextureSP type.
virtual QStringList listAllObjects(bool inEnglish) const
const Vec3f getQuasarColor(void) const
Get current value of the quasar symbol color.
void setStarCloudColor(const Vec3f &c)
Set the color used to draw the star clouds symbols.
QString getLatestSelectedDSODesignation()
Get designation for latest selected DSO with priority.
void flagUseTypeFiltersChanged(bool b)
Emitted when filter types are changed.
bool getFlagSurfaceBrightnessUsage(void) const
Get whether hints (symbols) are visible according to surface brightness value.
Definition: NebulaMgr.hpp:762
void setSupernovaRemnantCandidateColor(const Vec3f &c)
Set the color used to draw the supernova remnant candidate symbols.
virtual QList< StelObjectP > searchAround(const Vec3d &v, double limitFov, const StelCore *core) const
Used to get a vector of objects which are near to some position.
void setHintsAmount(double f)
Set the amount of nebulae hints.
Definition: NebulaMgr.hpp:805
void setBipolarNebulaColor(const Vec3f &c)
Set the color used to draw the bipolar nebulae symbols.
const Vec3f getStellarAssociationColor(void) const
Get current value of the stellar association symbol color.
virtual void init()
Initialize the NebulaMgr object.
void setEmissionLineStarColor(const Vec3f &c)
Set the color used to draw the emission-line stars symbols.
Main class for Stellarium core processing.
Definition: StelCore.hpp:48
const Vec3f getCirclesColor(void) const
Get current value of the nebula circle color.
void setMolecularCloudColor(const Vec3f &c)
Set the color used to draw the molecular clouds symbols.
float computeMaxMagHint(const class StelSkyDrawer *skyDrawer) const
Compute the maximum magntiude for which hints will be displayed.
void setEmissionObjectColor(const Vec3f &c)
Set the color used to draw the emission objects symbols.
bool getFlagSurfaceBrightnessShortNotationUsage(void) const
Get flag for usage of short notation for measure unit to surface brightness value.
Definition: NebulaMgr.hpp:772
const Vec3f getSymbioticStarColor(void) const
Get current value of the symbiotic star symbol color.
void setNebulaColor(const Vec3f &c)
Set the color used to draw the bright nebula symbols (emission nebula boxes, planetary nebulae circle...
bool getFlagHints(void) const
Get flag for displaying Nebulae Hints.
Definition: NebulaMgr.hpp:742
const Vec3f getNebulaColor(void) const
Get current value of the nebula circle color.
void catalogFiltersChanged(Nebula::CatalogGroup flags)
Emitted when the catalog filter is changed.
Specialization of StelModule which manages a collection of StelObject.
void setQuasarColor(const Vec3f &c)
Set the color used to draw the quasars symbols (ellipses).
void setFlagShow(bool b)
Set flag used to turn on and off Nebula rendering.
Definition: NebulaMgr.hpp:775
const Vec3f getEmissionObjectColor(void) const
Get current value of the emission object symbol color.
void setProtoplanetaryNebulaColor(const Vec3f &c)
Set the color used to draw the protoplanetary nebulae symbols.
const Vec3f getBlazarColor(void) const
Get current value of the blazar symbol color.
const Vec3f getYoungStellarObjectColor(void) const
Get current value of the young stellar object symbol color.
void setSupernovaCandidateColor(const Vec3f &c)
Set the color used to draw the supernova candidate symbols.
void setHydrogenRegionColor(const Vec3f &c)
Set the color used to draw the ionized hydrogen region symbols.
const Vec3f getSupernovaCandidateColor(void) const
Get current value of the supernova candidate symbol color.
const Vec3f getBlLacObjectColor(void) const
Get current value of the BL Lac object symbol color.
void setCirclesColor(const Vec3f &c)
Set the default color used to draw the nebula symbols (default circles, etc).
const Vec3f getSupernovaRemnantColor(void) const
Get current value of the supernova remnant symbol color.
void setInterstellarMatterColor(const Vec3f &c)
Set the color used to draw the interstellar matter symbols.
Converts tones in function of the eye adaptation to luminance.
const Vec3f getActiveGalaxyColor(void) const
Get current value of the active galaxy symbol color.
const Vec3f getInteractingGalaxyColor(void) const
Get current value of the interacting galaxy symbol color.
void setStarColor(const Vec3f &c)
Set the color used to draw the stars symbols.
void setReflectionNebulaColor(const Vec3f &c)
Set the color used to draw the reflection nebulae symbols.
const Vec3f getPossiblePlanetaryNebulaColor(void) const
Get current value of the possible planetary nebula symbol color.
void setRadioGalaxyColor(const Vec3f &c)
Set the color used to draw the radio galaxy symbols (ellipses).
Define the StelObjectP type.
Provides functions for performing openGL drawing operations.
Definition: StelPainter.hpp:40
void setFlagHints(bool b)
Set flag for displaying Nebulae Hints.
Definition: NebulaMgr.hpp:740
void setHintsProportional(const bool proportional)
Set whether hints (symbols) should be scaled according to nebula size.
virtual double getCallOrder(StelModuleActionName actionName) const
Determines the order in which the various modules are drawn.
const Vec3f getProtoplanetaryNebulaColor(void) const
Get current value of the protoplanetary nebula symbol color.
double getHintsAmount(void) const
Get the amount of nebulae labels.
Definition: NebulaMgr.hpp:808
const QVector< NebulaP > & getAllDeepSkyObjects() const
Get the list of all deep-sky objects.
Definition: NebulaMgr.hpp:358
double hintsAmount
The amount of hints (between 0 and 10)
Definition: NebulaMgr.hpp:105
bool getHintsProportional(void) const
Get whether hints (symbols) are scaled according to nebula size.
void setEmissionNebulaColor(const Vec3f &c)
Set the color used to draw the emission nebulae symbols.
void setPossibleQuasarColor(const Vec3f &c)
Set the color used to draw the possible quasars symbols.
const Vec3f getPossibleQuasarColor(void) const
Get current value of the possible quasar symbol color.
const Vec3f getEmissionLineStarColor(void) const
Get current value of the emission-line star symbol color.
virtual QStringList listAllObjectsByType(const QString &objType, bool inEnglish) const
List all StelObjects by type.
Define the possible action for which an order is defined.
Definition: StelModule.hpp:121
const Vec3f getInterstellarMatterColor(void) const
Get current value of the interstellar matter symbol color.
Container allowing to store and query SphericalRegion.
bool getFlagSurfaceBrightnessArcsecUsage(void) const
Get flag for usage of measure unit mag/arcsec^2 to surface brightness value.
Definition: NebulaMgr.hpp:767
const Vec3f getSupernovaRemnantCandidateColor(void) const
Get current value of the supernova remnant candidate symbol color.
QList< NebulaP > getDeepSkyObjectsByType(const QString &objType)
Get the list of deep-sky objects by type.
void setFlagSurfaceBrightnessArcsecUsage(const bool usage)
Set flag for usage of measure unit mag/arcsec^2 to surface brightness value.
Definition: NebulaMgr.hpp:765
void typeFiltersChanged(Nebula::TypeGroup flags)
Emitted when the type filter is changed.
const Vec3f getStarColor(void) const
Get current value of the star symbol color.
void setBlLacObjectColor(const Vec3f &c)
Set the color used to draw the BL Lac objects symbols.
double getLabelsAmount(void) const
Get the amount of nebulae labels.
Definition: NebulaMgr.hpp:800
const Vec3f getLabelsColor(void) const
Get current value of the nebula label color.
const Vec3f getEmissionNebulaColor(void) const
Get current value of the emission nebula circle color.
bool getDesignationUsage(void) const
Get flag for usage designations of DSO for their labels instead common names.
void setOpenClusterColor(const Vec3f &c)
Set the color used to draw the open star cluster symbols.
void setDesignationUsage(const bool flag)
Set flag for usage designations of DSO for their labels instead common names.
virtual QString getName() const
Gets a user-displayable name of the object category.
Definition: NebulaMgr.hpp:346
void setLabelsAmount(double a)
Set the amount of nebulae labels.
Definition: NebulaMgr.hpp:797
double labelsAmount
The amount of labels (between 0 and 10)
Definition: NebulaMgr.hpp:100
void setGalaxyColor(const Vec3f &c)
Set the color used to draw the galaxy symbols (ellipses).
void setGlobularClusterColor(const Vec3f &c)
Set the color used to draw the globular star cluster symbols.
virtual QStringList listMatchingObjects(const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false, bool inEnglish=false) const
Find and return the list of at most maxNbItem objects auto-completing the passed object English name...
const Vec3f getHydrogenRegionColor(void) const
Get current value of the hydrogen region symbol color.
const Vec3f getDarkNebulaColor(void) const
Get current value of the dark nebula color.
const Vec3f getPlanetaryNebulaColor(void) const
Get current value of the planetary nebula circle color.
QSharedPointer< StelTexture > StelTextureSP
Use shared pointer to simplify memory managment.
void setPossiblePlanetaryNebulaColor(const Vec3f &c)
Set the color used to draw the possible planetary nebulae symbols.
const Vec3f getClusterWithNebulosityColor(void) const
Get current value of the cluster associated with nebulosity color.
bool getFlagUseTypeFilters(void) const
Get value of flag used to turn on and off DSO type filtering.
Definition: NebulaMgr.hpp:782
const Vec3f getBrightNebulaColor(void) const
Get current value of the nebula circle color.
void setSupernovaRemnantColor(const Vec3f &c)
Set the color used to draw the supernova remnant symbols.
void setDarkNebulaColor(const Vec3f &c)
Set the color used to draw the dark nebula symbols (gray boxes).
virtual QString getStelObjectType() const
Returns the name that will be returned by StelObject::getType() for the objects this module manages...
Definition: NebulaMgr.hpp:347
virtual void draw(StelCore *core)
Draws all nebula objects.
const Vec3f getReflectionNebulaColor(void) const
Get current value of the reflection nebula circle color.
Manage a collection of nebulae.
Definition: NebulaMgr.hpp:48
void setLabelsColor(const Vec3f &c)
Set the color used to draw nebula labels.
void setActiveGalaxyColor(const Vec3f &c)
Set the color used to draw the active galaxy symbols (ellipses).
const Vec3f getGlobularClusterColor(void) const
Get current value of the globular star cluster symbol color.
const Vec3f getMolecularCloudColor(void) const
Get current value of the molecular cloud symbol color.
void setFlagUseTypeFilters(bool b)
Set flag used to turn on and off DSO type filtering.
Definition: NebulaMgr.hpp:780
void flagHintsDisplayedChanged(bool b)
Emitted when hints are toggled.
const Vec3f getGalaxyColor(void) const
Get current value of the galaxy symbol color.