Dear Stellarium developers,
I would like to propose adding a line showing the Galactic Plane to
Stellarium. It would nicely compliment the Galactic Grid that is already
there. Please find attached a patch that provides the suggested
functionality. I believe it is done clean enough to be committed
to trunk and added to the next release. I would appreciate if one of the
developers could review it, provide feedback, and merge it into the trunk
if it is found to be up to the standards of this project.
Kind regards,
-daniel-
--
Daniel Michalik, Lund Observatory
Department of Astronomy and Theoretical Physics, Lund University, Sweden
Telefon: +46 46 222 73 13
http://www.astro.lu.se/Staff/staff/mic.html
=== modified file 'data/default_config.ini'
--- old/data/default_config.ini 2011-12-05 15:43:42 +0000
+++ new/data/default_config.ini 2011-12-05 16:15:26 +0000
@@ -99,6 +99,7 @@
equatorial_color = 0.1,0.2,0.3
equatorial_J2000_color = 0.1,0.3,0.4
galactic_color = 0.0,0.3,0.2
+galactic_plane_color = 0.5,0.3,0.1
equator_color = 0.2,0.2,0.6
ecliptic_color = 0.6,0.2,0.2
meridian_color = 0.2,0.6,0.2
@@ -190,6 +191,7 @@
flag_equatorial_grid = false
flag_equatorial_J2000_grid = false
flag_galactic_grid = false
+flag_galactic_plane_line = false
flag_equator_line = false
flag_ecliptic_line = false
flag_meridian_line = false
=== modified file 'src/core/modules/GridLinesMgr.cpp'
--- old/src/core/modules/GridLinesMgr.cpp 2011-11-10 18:53:00 +0000
+++ new/src/core/modules/GridLinesMgr.cpp 2011-12-05 16:23:39 +0000
@@ -71,7 +71,8 @@
EQUATOR,
ECLIPTIC,
MERIDIAN,
- HORIZON
+ HORIZON,
+ GALACTICPLANE
};
// Create and precompute positions of a SkyGrid
SkyLine(SKY_LINE_TYPE _line_type = EQUATOR);
@@ -552,6 +553,10 @@
frameType = StelCore::FrameAltAz;
label = q_("Horizon");
break;
+ case GALACTICPLANE:
+ frameType = StelCore::FrameGalactic;
+ label = q_("Galactic Plane");
+ break;
}
}
@@ -636,6 +641,7 @@
eclipticLine = new SkyLine(SkyLine::ECLIPTIC);
meridianLine = new SkyLine(SkyLine::MERIDIAN);
horizonLine = new SkyLine(SkyLine::HORIZON);
+ galacticPlaneLine = new SkyLine(SkyLine::GALACTICPLANE);
}
GridLinesMgr::~GridLinesMgr()
@@ -648,6 +654,7 @@
delete eclipticLine;
delete meridianLine;
delete horizonLine;
+ delete galacticPlaneLine;
}
/*************************************************************************
@@ -673,6 +680,7 @@
setFlagEclipticLine(conf->value("viewing/flag_ecliptic_line").toBool());
setFlagMeridianLine(conf->value("viewing/flag_meridian_line").toBool());
setFlagHorizonLine(conf->value("viewing/flag_horizon_line").toBool());
+ setFlagHorizonLine(conf->value("viewing/flag_galactic_plane_line").toBool());
StelApp& app = StelApp::getInstance();
connect(&app, SIGNAL(colorSchemeChanged(const QString&)), this, SLOT(setStelStyle(const QString&)));
@@ -690,6 +698,7 @@
eclipticLine->update(deltaTime);
meridianLine->update(deltaTime);
horizonLine->update(deltaTime);
+ galacticPlaneLine->update(deltaTime);
}
void GridLinesMgr::draw(StelCore* core)
@@ -702,6 +711,7 @@
eclipticLine->draw(core);
meridianLine->draw(core);
horizonLine->draw(core);
+ galacticPlaneLine->draw(core);
}
void GridLinesMgr::setStelStyle(const QString& section)
@@ -718,6 +728,7 @@
setColorEclipticLine(StelUtils::strToVec3f(conf->value(section+"/ecliptic_color", defaultColor).toString()));
setColorMeridianLine(StelUtils::strToVec3f(conf->value(section+"/meridian_color", defaultColor).toString()));
setColorHorizonLine(StelUtils::strToVec3f(conf->value(section+"/horizon_color", defaultColor).toString()));
+ setColorGalacticPlaneLine(StelUtils::strToVec3f(conf->value(section+"/galactic_plane_color", defaultColor).toString()));
}
void GridLinesMgr::updateLineLabels()
@@ -777,6 +788,12 @@
bool GridLinesMgr::getFlagHorizonLine(void) const {return horizonLine->getFlagshow();}
Vec3f GridLinesMgr::getColorHorizonLine(void) const {return horizonLine->getColor();}
+//! Set flag for displaying GalacticPlane Line
+void GridLinesMgr::setFlagGalacticPlaneLine(bool b) {galacticPlaneLine->setFlagshow(b);}
+//! Get flag for displaying GalacticPlane Line
+bool GridLinesMgr::getFlagGalacticPlaneLine(void) const {return galacticPlaneLine->getFlagshow();}
+Vec3f GridLinesMgr::getColorGalacticPlaneLine(void) const {return galacticPlaneLine->getColor();}
+
void GridLinesMgr::setColorAzimuthalGrid(const Vec3f& v) { aziGrid->setColor(v);}
void GridLinesMgr::setColorEquatorGrid(const Vec3f& v) { equGrid->setColor(v);}
void GridLinesMgr::setColorEquatorJ2000Grid(const Vec3f& v) { equJ2000Grid->setColor(v);}
@@ -785,3 +802,4 @@
void GridLinesMgr::setColorEclipticLine(const Vec3f& v) { eclipticLine->setColor(v);}
void GridLinesMgr::setColorMeridianLine(const Vec3f& v) { meridianLine->setColor(v);}
void GridLinesMgr::setColorHorizonLine(const Vec3f& v) { horizonLine->setColor(v);}
+void GridLinesMgr::setColorGalacticPlaneLine(const Vec3f& v) { galacticPlaneLine->setColor(v);}
=== modified file 'src/core/modules/GridLinesMgr.hpp'
--- old/src/core/modules/GridLinesMgr.hpp 2011-11-10 18:53:00 +0000
+++ new/src/core/modules/GridLinesMgr.hpp 2011-12-05 16:19:28 +0000
@@ -136,6 +136,16 @@
//! Set the color of the Horizon Line.
void setColorHorizonLine(const Vec3f& v);
+ //! Set flag for displaying GalacticPlane Line.
+ void setFlagGalacticPlaneLine(bool b);
+ //! Get flag for displaying GalacticPlane Line.
+ bool getFlagGalacticPlaneLine(void) const;
+ //! Get the current color of the GalacticPlane Line.
+ Vec3f getColorGalacticPlaneLine(void) const;
+ //! Set the color of the GalacticPlane Line.
+ void setColorGalacticPlaneLine(const Vec3f& v);
+
+
private slots:
//! Sets the colors of: grids and great circles, Equatorial Grid, Azimuthal Grid,
//! Meridian Line, Equator Line and Ecliptic Line.
@@ -145,14 +155,15 @@
void updateLineLabels();
private:
- SkyGrid * equGrid; // Equatorial grid
- SkyGrid * equJ2000Grid; // Equatorial J2000 grid
- SkyGrid * galacticGrid; // Galactic grid
- SkyGrid * aziGrid; // Azimuthal grid
- SkyLine * equatorLine; // Celestial Equator line
- SkyLine * eclipticLine; // Ecliptic line
- SkyLine * meridianLine; // Meridian line
- SkyLine * horizonLine; // Horizon line
+ SkyGrid * equGrid; // Equatorial grid
+ SkyGrid * equJ2000Grid; // Equatorial J2000 grid
+ SkyGrid * galacticGrid; // Galactic grid
+ SkyGrid * aziGrid; // Azimuthal grid
+ SkyLine * equatorLine; // Celestial Equator line
+ SkyLine * eclipticLine; // Ecliptic line
+ SkyLine * meridianLine; // Meridian line
+ SkyLine * horizonLine; // Horizon line
+ SkyLine * galacticPlaneLine; // line depciting the Galacitc plane as defined by the IAU definition of Galactic coordinates
};
#endif // _GRIDLINESMGR_HPP_
=== modified file 'src/gui/ConfigurationDialog.cpp'
--- old/src/gui/ConfigurationDialog.cpp 2011-12-05 15:50:24 +0000
+++ new/src/gui/ConfigurationDialog.cpp 2011-12-05 16:16:13 +0000
@@ -382,6 +382,7 @@
conf->setValue("viewing/flag_horizon_line", glmgr->getFlagHorizonLine());
conf->setValue("viewing/flag_equatorial_J2000_grid", glmgr->getFlagEquatorJ2000Grid());
conf->setValue("viewing/flag_galactic_grid", glmgr->getFlagGalacticGrid());
+ conf->setValue("viewing/flag_galactic_plane_line", glmgr->getFlagGalacticPlaneLine());
conf->setValue("viewing/flag_cardinal_points", lmgr->getFlagCardinalsPoints());
conf->setValue("viewing/flag_constellation_drawing", cmgr->getFlagLines());
conf->setValue("viewing/flag_constellation_name", cmgr->getFlagLabels());
=== modified file 'src/gui/StelGui.cpp'
--- old/src/gui/StelGui.cpp 2011-11-29 12:14:30 +0000
+++ new/src/gui/StelGui.cpp 2011-12-05 16:26:46 +0000
@@ -105,6 +105,7 @@
addGuiActions("actionShow_Equatorial_Grid", N_("Equatorial grid"), "E", group, true, false);
addGuiActions("actionShow_Equatorial_J2000_Grid", N_("Equatorial J2000 grid"), "", group, true, false);
addGuiActions("actionShow_Galactic_Grid", N_("Galactic grid"), "", group, true, false);
+ addGuiActions("actionShow_Galactic_Plane_Line", N_("Galactic plane"), "", group, true, false);
addGuiActions("actionShow_Ecliptic_Line", N_("Ecliptic line"), ",", group, true, false);
addGuiActions("actionShow_Equator_Line", N_("Equator line"), ".", group, true, false);
addGuiActions("actionShow_Meridian_Line", N_("Meridian line"), ";", group, true, false);
@@ -219,6 +220,8 @@
getGuiActions("actionShow_Equatorial_J2000_Grid")->setChecked(gmgr->getFlagEquatorJ2000Grid());
connect(getGuiActions("actionShow_Galactic_Grid"), SIGNAL(toggled(bool)), gmgr, SLOT(setFlagGalacticGrid(bool)));
getGuiActions("actionShow_Galactic_Grid")->setChecked(gmgr->getFlagGalacticGrid());
+ connect(getGuiActions("actionShow_Galactic_Plane_Line"), SIGNAL(toggled(bool)), gmgr, SLOT(setFlagGalacticPlaneLine(bool)));
+ getGuiActions("actionShow_Galactic_Plane_Line")->setChecked(gmgr->getFlagGalacticPlaneLine());
LandscapeMgr* lmgr = GETSTELMODULE(LandscapeMgr);
connect(getGuiActions("actionShow_Ground"), SIGNAL(toggled(bool)), lmgr, SLOT(setFlagLandscape(bool)));
=== modified file 'src/gui/ViewDialog.cpp'
--- old/src/gui/ViewDialog.cpp 2011-12-05 15:39:13 +0000
+++ new/src/gui/ViewDialog.cpp 2011-12-05 16:17:26 +0000
@@ -256,6 +256,11 @@
connect(a, SIGNAL(toggled(bool)), ui->showGalacticGridCheckBox, SLOT(setChecked(bool)));
connect(ui->showGalacticGridCheckBox, SIGNAL(toggled(bool)), a, SLOT(setChecked(bool)));
+ ui->showGalacticPlaneLineCheckBox->setChecked(glmgr->getFlagGalacticPlaneLine());
+ a = gui->getGuiActions("actionShow_Galactic_Plane_Line");
+ connect(a, SIGNAL(toggled(bool)), ui->showGalacticPlaneLineCheckBox, SLOT(setChecked(bool)));
+ connect(ui->showGalacticPlaneLineCheckBox, SIGNAL(toggled(bool)), a, SLOT(setChecked(bool)));
+
ui->showAzimuthalGridCheckBox->setChecked(glmgr->getFlagAzimuthalGrid());
a = gui->getGuiActions("actionShow_Azimuthal_Grid");
connect(a, SIGNAL(toggled(bool)), ui->showAzimuthalGridCheckBox, SLOT(setChecked(bool)));
=== modified file 'src/gui/viewDialog.ui'
--- old/src/gui/viewDialog.ui 2011-12-05 15:39:13 +0000
+++ new/src/gui/viewDialog.ui 2011-12-05 16:18:11 +0000
@@ -1052,6 +1052,13 @@
</property>
</widget>
</item>
+ <item>
+ <widget class="QCheckBox" name="showGalacticPlaneLineCheckBox">
+ <property name="text">
+ <string>Galactic plane</string>
+ </property>
+ </widget>
+ </item>
<item>
<widget class="QCheckBox" name="showAzimuthalGridCheckBox">
<property name="text">
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Stellarium-pubdevel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stellarium-pubdevel