Stellarium 0.90.0
NebulaMgr.hpp
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
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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  */
21 
22 #ifndef _NEBULAMGR_HPP_
23 #define _NEBULAMGR_HPP_
24 
25 #include "StelObjectType.hpp"
26 #include "StelFader.hpp"
27 #include "StelSphericalIndex.hpp"
28 #include "StelObjectModule.hpp"
29 #include "StelTextureTypes.hpp"
30 #include "Nebula.hpp"
31 
32 #include <QString>
33 #include <QStringList>
34 #include <QFont>
35 
36 class StelTranslator;
37 class StelToneReproducer;
38 class QSettings;
39 class StelPainter;
40 
41 typedef QSharedPointer<Nebula> NebulaP;
42 
46 // GZ: This doc seems outdated/misleading - photo textures are not mamaged here but in StelSkyImageTile
47 
49 {
50  Q_OBJECT
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 flagSurfaceBrightnessUsage
79  NOTIFY flagSurfaceBrightnessUsageChanged
80  )
81  Q_PROPERTY(double labelsAmount
82  READ getLabelsAmount
83  WRITE setLabelsAmount
84  NOTIFY labelsAmountChanged
85  )
86  Q_PROPERTY(double hintsAmount
87  READ getHintsAmount
88  WRITE setHintsAmount
89  NOTIFY hintsAmountChanged
90  )
91  Q_PROPERTY(bool flagDesignationLabels
94  NOTIFY designationUsageChanged
95  )
96  // Colors
97  Q_PROPERTY(Vec3f labelsColor
98  READ getLabelsColor
99  WRITE setLabelsColor
100  NOTIFY labelsColorChanged
101  )
102  Q_PROPERTY(Vec3f circlesColor
103  READ getCirclesColor
104  WRITE setCirclesColor
105  NOTIFY circlesColorChanged
106  )
107  Q_PROPERTY(Vec3f galaxiesColor
108  READ getGalaxyColor
109  WRITE setGalaxyColor
110  NOTIFY galaxiesColorChanged
111  )
112  Q_PROPERTY(Vec3f activeGalaxiesColor
115  NOTIFY activeGalaxiesColorChanged
116  )
117  Q_PROPERTY(Vec3f radioGalaxiesColor
119  WRITE setRadioGalaxyColor
120  NOTIFY radioGalaxiesColorChanged
121  )
122  Q_PROPERTY(Vec3f interactingGalaxiesColor
125  NOTIFY interactingGalaxiesColorChanged
126  )
127  Q_PROPERTY(Vec3f quasarsColor
128  READ getQuasarColor
129  WRITE setQuasarColor
130  NOTIFY quasarsColorChanged
131  )
132  Q_PROPERTY(Vec3f possibleQuasarsColor
135  NOTIFY possibleQuasarsColorChanged
136  )
137  Q_PROPERTY(Vec3f clustersColor
138  READ getClusterColor
139  WRITE setClusterColor
140  NOTIFY clustersColorChanged
141  )
142  Q_PROPERTY(Vec3f openClustersColor
144  WRITE setOpenClusterColor
145  NOTIFY openClustersColorChanged
146  )
147  Q_PROPERTY(Vec3f globularClustersColor
150  NOTIFY globularClustersColorChanged
151  )
152  Q_PROPERTY(Vec3f stellarAssociationsColor
155  NOTIFY stellarAssociationsColorChanged
156  )
157  Q_PROPERTY(Vec3f starCloudsColor
158  READ getStarCloudColor
159  WRITE setStarCloudColor
160  NOTIFY starCloudsColorChanged
161  )
162  Q_PROPERTY(Vec3f starsColor
163  READ getStarColor
164  WRITE setStarColor
165  NOTIFY starsColorChanged
166  )
167  Q_PROPERTY(Vec3f nebulaeColor
168  READ getNebulaColor
169  WRITE setNebulaColor
170  NOTIFY nebulaeColorChanged
171  )
172  Q_PROPERTY(Vec3f planetaryNebulaeColor
175  NOTIFY planetaryNebulaeColorChanged
176  )
177  Q_PROPERTY(Vec3f darkNebulaeColor
178  READ getDarkNebulaColor
179  WRITE setDarkNebulaColor
180  NOTIFY darkNebulaeColorChanged
181  )
182  Q_PROPERTY(Vec3f reflectionNebulaeColor
185  NOTIFY reflectionNebulaeColorChanged
186  )
187  Q_PROPERTY(Vec3f bipolarNebulaeColor
190  NOTIFY bipolarNebulaeColorChanged
191  )
192  Q_PROPERTY(Vec3f emissionNebulaeColor
195  NOTIFY emissionNebulaeColorChanged
196  )
197  Q_PROPERTY(Vec3f possiblePlanetaryNebulaeColor
200  NOTIFY possiblePlanetaryNebulaeColorChanged
201  )
202  Q_PROPERTY(Vec3f protoplanetaryNebulaeColor
205  NOTIFY protoplanetaryNebulaeColorChanged
206  )
207  Q_PROPERTY(Vec3f clusterWithNebulosityColor
210  NOTIFY clusterWithNebulosityColorChanged
211  )
212  Q_PROPERTY(Vec3f hydrogenRegionsColor
215  NOTIFY hydrogenRegionsColorChanged
216  )
217  Q_PROPERTY(Vec3f interstellarMatterColor
220  NOTIFY interstellarMatterColorChanged
221  )
222  Q_PROPERTY(Vec3f emissionObjectsColor
225  NOTIFY emissionObjectsColorChanged
226  )
227  Q_PROPERTY(Vec3f molecularCloudsColor
230  NOTIFY molecularCloudsColorChanged
231  )
232  Q_PROPERTY(Vec3f blLacObjectsColor
234  WRITE setBlLacObjectColor
235  NOTIFY blLacObjectsColorChanged
236  )
237  Q_PROPERTY(Vec3f blazarsColor
238  READ getBlazarColor
239  WRITE setBlazarColor
240  NOTIFY blazarsColorChanged
241  )
242  Q_PROPERTY(Vec3f youngStellarObjectsColor
245  NOTIFY youngStellarObjectsColorChanged
246  )
247  Q_PROPERTY(Vec3f supernovaRemnantsColor
250  NOTIFY supernovaRemnantsColorChanged
251  )
252 
253 public:
254  NebulaMgr();
255  virtual ~NebulaMgr();
256 
258  // Methods defined in the StelModule class
266  virtual void init();
267 
269  virtual void draw(StelCore* core);
270 
272  virtual void update(double deltaTime) {hintsFader.update((int)(deltaTime*1000)); flagShow.update((int)(deltaTime*1000));}
273 
275  virtual double getCallOrder(StelModuleActionName actionName) const;
276 
278  // Methods defined in StelObjectManager class
284  virtual QList<StelObjectP> searchAround(const Vec3d& v, double limitFov, const StelCore* core) const;
285 
289  virtual StelObjectP searchByNameI18n(const QString& nameI18n) const;
290 
293  virtual StelObjectP searchByName(const QString& name) const;
294 
300  virtual QStringList listMatchingObjects(const QString& objPrefix, int maxNbItem=5, bool useStartOfWords=false, bool inEnglish=false) const;
302  virtual QStringList listAllObjects(bool inEnglish) const;
303  virtual QStringList listAllObjectsByType(const QString& objType, bool inEnglish) const;
304  virtual QString getName() const { return "Deep-sky objects"; }
305 
307  float computeMaxMagHint(const class StelSkyDrawer* skyDrawer) const;
308 
309  bool objectInDisplayedCatalog(NebulaP n);
310 
315 
317  const QVector<NebulaP>& getAllDeepSkyObjects() const { return dsoArray; }
318 
320  // Properties setters and getters
321 public slots:
322  void setCatalogFilters(Nebula::CatalogGroup cflags);
323  Nebula::CatalogGroup getCatalogFilters() const { return Nebula::catalogFilters; }
324 
325  void setTypeFilters(Nebula::TypeGroup tflags);
326  Nebula::TypeGroup getTypeFilters() const { return Nebula::typeFilters; }
327 
334  void setCirclesColor(const Vec3f& c);
336  const Vec3f& getCirclesColor(void) const;
337 
344  void setGalaxyColor(const Vec3f& c);
346  const Vec3f& getGalaxyColor(void) const;
347 
354  void setActiveGalaxyColor(const Vec3f& c);
356  const Vec3f& getActiveGalaxyColor(void) const;
357 
364  void setInteractingGalaxyColor(const Vec3f& c);
366  const Vec3f& getInteractingGalaxyColor(void) const;
367 
374  void setRadioGalaxyColor(const Vec3f& c);
376  const Vec3f& getRadioGalaxyColor(void) const;
377 
384  void setQuasarColor(const Vec3f& c);
386  const Vec3f& getQuasarColor(void) const;
387 
395  void setBrightNebulaColor(const Vec3f& c);
398  const Vec3f& getBrightNebulaColor(void) const;
399 
406  void setNebulaColor(const Vec3f& c);
408  const Vec3f& getNebulaColor(void) const;
409 
416  void setPlanetaryNebulaColor(const Vec3f& c);
418  const Vec3f& getPlanetaryNebulaColor(void) const;
419 
426  void setReflectionNebulaColor(const Vec3f& c);
428  const Vec3f& getReflectionNebulaColor(void) const;
429 
436  void setBipolarNebulaColor(const Vec3f& c);
438  const Vec3f& getBipolarNebulaColor(void) const;
439 
446  void setEmissionNebulaColor(const Vec3f& c);
448  const Vec3f& getEmissionNebulaColor(void) const;
449 
456  void setHydrogenRegionColor(const Vec3f& c);
458  const Vec3f& getHydrogenRegionColor(void) const;
459 
466  void setSupernovaRemnantColor(const Vec3f& c);
468  const Vec3f& getSupernovaRemnantColor(void) const;
469 
476  void setInterstellarMatterColor(const Vec3f& c);
478  const Vec3f& getInterstellarMatterColor(void) const;
479 
486  void setDarkNebulaColor(const Vec3f& c);
488  const Vec3f& getDarkNebulaColor(void) const;
489 
496  void setClusterWithNebulosityColor(const Vec3f& c);
498  const Vec3f& getClusterWithNebulosityColor(void) const;
499 
506  void setClusterColor(const Vec3f& c);
508  const Vec3f& getClusterColor(void) const;
509 
516  void setOpenClusterColor(const Vec3f& c);
518  const Vec3f& getOpenClusterColor(void) const;
519 
526  void setGlobularClusterColor(const Vec3f& c);
528  const Vec3f& getGlobularClusterColor(void) const;
529 
536  void setStellarAssociationColor(const Vec3f& c);
538  const Vec3f& getStellarAssociationColor(void) const;
539 
546  void setStarCloudColor(const Vec3f& c);
548  const Vec3f& getStarCloudColor(void) const;
549 
556  void setEmissionObjectColor(const Vec3f& c);
558  const Vec3f& getEmissionObjectColor(void) const;
559 
566  void setBlLacObjectColor(const Vec3f& c);
568  const Vec3f& getBlLacObjectColor(void) const;
569 
576  void setBlazarColor(const Vec3f& c);
578  const Vec3f& getBlazarColor(void) const;
579 
586  void setMolecularCloudColor(const Vec3f& c);
588  const Vec3f& getMolecularCloudColor(void) const;
589 
596  void setYoungStellarObjectColor(const Vec3f& c);
598  const Vec3f& getYoungStellarObjectColor(void) const;
599 
606  void setPossibleQuasarColor(const Vec3f& c);
608  const Vec3f& getPossibleQuasarColor(void) const;
609 
616  void setPossiblePlanetaryNebulaColor(const Vec3f& c);
618  const Vec3f& getPossiblePlanetaryNebulaColor(void) const;
619 
626  void setProtoplanetaryNebulaColor(const Vec3f& c);
628  const Vec3f& getProtoplanetaryNebulaColor(void) const;
629 
636  void setStarColor(const Vec3f& c);
638  const Vec3f& getStarColor(void) const;
639 
642  void setHintsFadeDuration(float duration) {hintsFader.setDuration((int) (duration * 1000.f));}
643 
645  void setFlagHints(bool b) { if (hintsFader!=b) { hintsFader=b; emit flagHintsDisplayedChanged(b);}}
647  bool getFlagHints(void) const {return hintsFader;}
648 
650  void setHintsProportional(const bool proportional);
652  bool getHintsProportional(void) const;
653 
655  void setDesignationUsage(const bool flag);
657  bool getDesignationUsage(void) const;
658 
660  void setFlagSurfaceBrightnessUsage(const bool usage) {if(usage!=Nebula::surfaceBrightnessUsage){ Nebula::surfaceBrightnessUsage=usage; emit flagSurfaceBrightnessUsageChanged(usage);}}
662  bool getFlagSurfaceBrightnessUsage(void) const { return Nebula::surfaceBrightnessUsage; }
663 
665  void setFlagShow(bool b) { flagShow = b; }
667  bool getFlagShow(void) const { return flagShow; }
668 
670  void setFlagUseTypeFilters(bool b) { if (Nebula::flagUseTypeFilters!=b) { Nebula::flagUseTypeFilters=b; emit flagUseTypeFiltersChanged(b);}}
672  bool getFlagUseTypeFilters(void) const { return Nebula::flagUseTypeFilters; }
673 
680  void setLabelsColor(const Vec3f& c);
682  const Vec3f& getLabelsColor(void) const;
683 
687  void setLabelsAmount(double a) {if(a!=labelsAmount){labelsAmount=a; emit labelsAmountChanged(a);}}
690  double getLabelsAmount(void) const {return labelsAmount;}
691 
695  void setHintsAmount(double f) {if(hintsAmount!=f){hintsAmount = f; emit hintsAmountChanged(f);}}
698  double getHintsAmount(void) const {return hintsAmount;}
699 
700 signals:
702  void flagHintsDisplayedChanged(bool b);
704  void flagUseTypeFiltersChanged(bool b);
706  void catalogFiltersChanged(Nebula::CatalogGroup flags);
708  void typeFiltersChanged(Nebula::TypeGroup flags);
709  void hintsProportionalChanged(bool b);
710  void designationUsageChanged(bool b);
711  void flagSurfaceBrightnessUsageChanged(bool b);
712  void labelsAmountChanged(double a);
713  void hintsAmountChanged(double f);
714 
715  void labelsColorChanged(const Vec3f & color) const;
716  void circlesColorChanged(const Vec3f & color) const;
717  void galaxiesColorChanged(const Vec3f & color) const;
718  void activeGalaxiesColorChanged(const Vec3f & color) const;
719  void radioGalaxiesColorChanged(const Vec3f & color) const;
720  void interactingGalaxiesColorChanged(const Vec3f & color) const;
721  void quasarsColorChanged(const Vec3f & color) const;
722  void possibleQuasarsColorChanged(const Vec3f & color) const;
723  void clustersColorChanged(const Vec3f & color) const;
724  void openClustersColorChanged(const Vec3f & color) const;
725  void globularClustersColorChanged(const Vec3f & color) const;
726  void stellarAssociationsColorChanged(const Vec3f & color) const;
727  void starCloudsColorChanged(const Vec3f & color) const;
728  void starsColorChanged(const Vec3f & color) const;
729  void nebulaeColorChanged(const Vec3f & color) const;
730  void planetaryNebulaeColorChanged(const Vec3f & color) const;
731  void darkNebulaeColorChanged(const Vec3f & color) const;
732  void reflectionNebulaeColorChanged(const Vec3f & color) const;
733  void bipolarNebulaeColorChanged(const Vec3f & color) const;
734  void emissionNebulaeColorChanged(const Vec3f & color) const;
735  void possiblePlanetaryNebulaeColorChanged(const Vec3f & color) const;
736  void protoplanetaryNebulaeColorChanged(const Vec3f & color) const;
737  void clusterWithNebulosityColorChanged(const Vec3f & color) const;
738  void hydrogenRegionsColorChanged(const Vec3f & color) const;
739  void interstellarMatterColorChanged(const Vec3f & color) const;
740  void emissionObjectsColorChanged(const Vec3f & color) const;
741  void molecularCloudsColorChanged(const Vec3f & color) const;
742  void blLacObjectsColorChanged(const Vec3f & color) const;
743  void blazarsColorChanged(const Vec3f & color) const;
744  void youngStellarObjectsColorChanged(const Vec3f & color) const;
745  void supernovaRemnantsColorChanged(const Vec3f & color) const;
746 
747 private slots:
751  void updateI18n();
752 
756  void updateSkyCulture(const QString& skyCultureDir);
757 
758 private:
759 
761  NebulaP search(const QString& name);
762 
764  NebulaP search(const Vec3d& pos);
765 
772  void loadNebulaSet(const QString& setName);
773 
775  void drawPointer(const StelCore* core, StelPainter& sPainter);
776 
777  NebulaP searchDSO(unsigned int DSO);
778  NebulaP searchM(unsigned int M);
779  NebulaP searchNGC(unsigned int NGC);
780  NebulaP searchIC(unsigned int IC);
781  NebulaP searchC(unsigned int C);
782  NebulaP searchB(unsigned int B);
783  NebulaP searchSh2(unsigned int Sh2);
784  NebulaP searchVdB(unsigned int VdB);
785  NebulaP searchRCW(unsigned int RCW);
786  NebulaP searchLDN(unsigned int LDN);
787  NebulaP searchLBN(unsigned int LBN);
788  NebulaP searchCr(unsigned int Cr);
789  NebulaP searchMel(unsigned int Mel);
790  NebulaP searchPGC(unsigned int PGC);
791  NebulaP searchUGC(unsigned int UGC);
792  NebulaP searchCed(QString Ced);
793 
794  // Load catalog of DSO
795  bool loadDSOCatalog(const QString& filename);
796  void convertDSOCatalog(const QString& in, const QString& out, bool decimal);
797  // Load proper names for DSO
798  bool loadDSONames(const QString& filename);
799 
800  QVector<NebulaP> dsoArray; // The DSO list
801  QHash<unsigned int, NebulaP> dsoIndex;
802 
803  LinearFader hintsFader;
804  LinearFader flagShow;
805 
807  StelSphericalIndex nebGrid;
808 
810  double hintsAmount;
812  double labelsAmount;
813 
815  StelTextureSP texPointer;
816 
817  QFont nebulaFont; // Font used for names printing
818 
819  // For DSO convertor
820  bool flagConverter;
821  bool flagDecimalCoordinates;
822 };
823 
824 #endif // _NEBULAMGR_HPP_
const Vec3f & getStellarAssociationColor(void) const
Get current value of the stellar association 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:642
virtual void update(double deltaTime)
Update state which is time dependent.
Definition: NebulaMgr.hpp:272
virtual StelObjectP searchByName(const QString &name) const
Return the matching nebula if exists or NULL.
void setYoungStellarObjectColor(const Vec3f &c)
Set the color used to draw the young stellar objects symbols.
const Vec3f & getYoungStellarObjectColor(void) const
Get current value of the young stellar object symbol color.
const Vec3f & getOpenClusterColor(void) const
Get current value of the open star cluster symbol color.
const Vec3f & getBlLacObjectColor(void) const
Get current value of the BL Lac object symbol color.
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 NULL.
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:660
void setClusterWithNebulosityColor(const Vec3f &c)
Set the color used to draw the cluster associated with nebulosity symbols.
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:667
void setStellarAssociationColor(const Vec3f &c)
Set the color used to draw the stellar associations 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 & getBlazarColor(void) const
Get current value of the blazar symbol color.
Define the StelTextureSP type.
virtual QStringList listAllObjects(bool inEnglish) const
const Vec3f & getBipolarNebulaColor(void) const
Get current value of the bipolar nebula circle color.
const Vec3f & getReflectionNebulaColor(void) const
Get current value of the reflection nebula circle 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:662
const Vec3f & getPossiblePlanetaryNebulaColor(void) const
Get current value of the possible planetary nebula symbol color.
const Vec3f & getGlobularClusterColor(void) const
Get current value of the globular star cluster symbol color.
const Vec3f & getStarColor(void) const
Get current value of the star symbol color.
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:695
const Vec3f & getRadioGalaxyColor(void) const
Get current value of the radio galaxy symbol color.
void setBipolarNebulaColor(const Vec3f &c)
Set the color used to draw the bipolar nebulae symbols.
virtual void init()
Initialize the NebulaMgr object.
const Vec3f & getInteractingGalaxyColor(void) const
Get current value of the interacting galaxy symbol color.
Main class for Stellarium core processing.
Definition: StelCore.hpp:48
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.
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:647
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:665
void setProtoplanetaryNebulaColor(const Vec3f &c)
Set the color used to draw the protoplanetary nebulae symbols.
const Vec3f & getCirclesColor(void) const
Get current value of the nebula circle color.
const Vec3f & getNebulaColor(void) const
Get current value of the nebula circle color.
void setHydrogenRegionColor(const Vec3f &c)
Set the color used to draw the ionized hydrogen region symbols.
const Vec3f & getClusterColor(void) const
Get current value of the star cluster symbol color.
void setCirclesColor(const Vec3f &c)
Set the default color used to draw the nebula symbols (default circles, etc).
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 & getDarkNebulaColor(void) const
Get current value of the dark nebula 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 & getPossibleQuasarColor(void) const
Get current value of the possible quasar 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:645
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 & getInterstellarMatterColor(void) const
Get current value of the interstellar matter symbol color.
const Vec3f & getEmissionNebulaColor(void) const
Get current value of the emission nebula circle color.
double getHintsAmount(void) const
Get the amount of nebulae labels.
Definition: NebulaMgr.hpp:698
const QVector< NebulaP > & getAllDeepSkyObjects() const
Get the list of all the bodies of the solar system.
Definition: NebulaMgr.hpp:317
double hintsAmount
The amount of hints (between 0 and 10)
Definition: NebulaMgr.hpp:90
bool getHintsProportional(void) const
Get whether hints (symbols) are scaled according to nebula size.
const Vec3f & getGalaxyColor(void) const
Get current value of the galaxy symbol color.
void setEmissionNebulaColor(const Vec3f &c)
Set the color used to draw the emission nebulae symbols.
const Vec3f & getActiveGalaxyColor(void) const
Get current value of the active galaxy symbol color.
const Vec3f & getClusterWithNebulosityColor(void) const
Get current value of the cluster associated with nebulosity color.
void setPossibleQuasarColor(const Vec3f &c)
Set the color used to draw the possible quasars symbols.
const Vec3f & getSupernovaRemnantColor(void) const
Get current value of the supernova remnant symbol color.
virtual QStringList listAllObjectsByType(const QString &objType, bool inEnglish) const
List all StelObjects by type.
StelModuleActionName
Define the possible action for which an order is defined.
Definition: StelModule.hpp:121
Container allowing to store and query SphericalRegion.
const Vec3f & getHydrogenRegionColor(void) const
Get current value of the hydrogen region symbol color.
const Vec3f & getPlanetaryNebulaColor(void) const
Get current value of the planetary nebula circle color.
void typeFiltersChanged(Nebula::TypeGroup flags)
Emitted when the type filter is changed.
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:690
const Vec3f & getStarCloudColor(void) const
Get current value of the star cloud symbol color.
const Vec3f & getMolecularCloudColor(void) const
Get current value of the molecular cloud symbol color.
const Vec3f & getEmissionObjectColor(void) const
Get current value of the emission object symbol 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.
void setLabelsAmount(double a)
Set the amount of nebulae labels.
Definition: NebulaMgr.hpp:687
double labelsAmount
The amount of labels (between 0 and 10)
Definition: NebulaMgr.hpp:85
const Vec3f & getQuasarColor(void) const
Get current value of the quasar symbol color.
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 & getLabelsColor(void) const
Get current value of the nebula label 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 & getBrightNebulaColor(void) const
Get current value of the nebula circle color.
bool getFlagUseTypeFilters(void) const
Get value of flag used to turn on and off DSO type filtering.
Definition: NebulaMgr.hpp:672
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 void draw(StelCore *core)
Draws all nebula objects.
Manage a collection of nebulae.
Definition: NebulaMgr.hpp:48
void setLabelsColor(const Vec3f &c)
Set the color used to draw nebula labels.
const Vec3f & getProtoplanetaryNebulaColor(void) const
Get current value of the protoplanetary nebula symbol color.
void setActiveGalaxyColor(const Vec3f &c)
Set the color used to draw the active galaxy symbols (ellipses).
void setFlagUseTypeFilters(bool b)
Set flag used to turn on and off DSO type filtering.
Definition: NebulaMgr.hpp:670
void flagHintsDisplayedChanged(bool b)
Emitted when hints are toggled.