22 #ifndef _NEBULAMGR_HPP_
23 #define _NEBULAMGR_HPP_
26 #include "StelFader.hpp"
27 #include "StelSphericalIndex.hpp"
28 #include "StelObjectModule.hpp"
33 #include <QStringList>
41 typedef QSharedPointer<Nebula> NebulaP;
51 Q_PROPERTY(
bool flagHintDisplayed
74 virtual void update(
double deltaTime) {hintsFader.update((
int)(deltaTime*1000)); flagShow.update((
int)(deltaTime*1000));}
102 virtual QStringList
listMatchingObjectsI18n(
const QString& objPrefix,
int maxNbItem=5,
bool useStartOfWords=
false)
const;
108 virtual QStringList
listMatchingObjects(
const QString& objPrefix,
int maxNbItem=5,
bool useStartOfWords=
false)
const;
111 virtual QStringList listAllObjectsByType(
const QString& objType,
bool inEnglish)
const;
112 virtual QString getName()
const {
return "Deep-sky objects"; }
117 void setCatalogFilters(
const Nebula::CatalogGroup& cflags);
118 const Nebula::CatalogGroup& getCatalogFilters()
const {
return Nebula::catalogFilters; }
120 void setTypeFilters(
const Nebula::TypeGroup& tflags) { Nebula::typeFilters=tflags; }
121 const Nebula::TypeGroup& getTypeFilters()
const {
return Nebula::typeFilters; }
123 bool objectInDisplayedCatalog(NebulaP n);
503 void setStelStyle(
const QString& section);
514 NebulaP search(
const QString& name);
517 NebulaP search(
const Vec3d& pos);
525 void loadNebulaSet(
const QString& setName);
530 NebulaP searchDSO(
unsigned int DSO);
531 NebulaP searchM(
unsigned int M);
532 NebulaP searchNGC(
unsigned int NGC);
533 NebulaP searchIC(
unsigned int IC);
534 NebulaP searchC(
unsigned int C);
535 NebulaP searchB(
unsigned int B);
536 NebulaP searchSh2(
unsigned int Sh2);
537 NebulaP searchVdB(
unsigned int VdB);
538 NebulaP searchRCW(
unsigned int RCW);
539 NebulaP searchLDN(
unsigned int LDN);
540 NebulaP searchLBN(
unsigned int LBN);
541 NebulaP searchCr(
unsigned int Cr);
542 NebulaP searchMel(
unsigned int Mel);
543 NebulaP searchPGC(
unsigned int PGC);
544 NebulaP searchUGC(
unsigned int UGC);
545 NebulaP searchCed(QString Ced);
548 bool loadDSOCatalog(
const QString& filename);
549 void convertDSOCatalog(
const QString& in,
const QString& out,
bool decimal);
551 bool loadDSONames(
const QString& filename);
553 QVector<NebulaP> dsoArray;
554 QHash<unsigned int, NebulaP> dsoIndex;
574 bool flagDecimalCoordinates;
577 #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. ...
virtual void update(double deltaTime)
Update state which is time dependent.
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'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.
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.
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.
const Vec3f & getBlazarColor(void) const
Get current value of the blazar symbol color.
void setCircleScale(float scale)
Set Nebulae Hints circle scale.
A templatized 3d vector compatible with openGL.
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.
float getLabelsAmount(void) const
Get the amount of nebulae labels.
void setStarCloudColor(const Vec3f &c)
Set the color used to draw the star clouds symbols.
bool getFlagSurfaceBrightnessUsage(void) const
Get whether hints (symbols) are visible according to surface brightness value.
virtual QStringList listMatchingObjectsI18n(const QString &objPrefix, int maxNbItem=5, bool useStartOfWords=false) const
Find and return the list of at most maxNbItem objects auto-completing the passed object I18n name...
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.
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.
void setLabelsAmount(float a)
Set the amount of nebulae labels.
void setMolecularCloudColor(const Vec3f &c)
Set the color used to draw the molecular clouds symbols.
float getCircleScale(void) const
Get Nebulae Hints circle scale.
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.
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.
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.
void setHintsAmount(float f)
Set the amount of nebulae hints.
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.
void setFlagHints(bool b)
Set flag for displaying Nebulae Hints.
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.
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.
StelModuleActionName
Define the possible action for which an order is defined.
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 setBlLacObjectColor(const Vec3f &c)
Set the color used to draw the BL Lac objects symbols.
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.
void setOpenClusterColor(const Vec3f &c)
Set the color used to draw the open star cluster symbols.
float getHintsAmount(void) const
Get the amount of nebulae labels.
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) 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 getFlagTypeFiltersUsage(void) const
Get value of flag used to turn on and off DSO type filtering.
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.
void setFlagTypeFiltersUsage(bool b)
Set flag used to turn on and off DSO type filtering.
Manage a collection of nebulae.
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).