// Format the positional info string contain J2000/of date/altaz/hour angle positions for the object QString StelObject::getPositionInfoString(const StelCore *core, const InfoStringGroup& flags) const { bool withAtmosphere=core->getSkyDrawer()->getFlagHasAtmosphere(); QString res; if (flags&RaDecJ2000) { double dec_j2000, ra_j2000; StelUtils::rectToSphe(&ra_j2000,&dec_j2000,getJ2000EquatorialPos(core)); res += q_("RA/DE (J2000): %1/%2").arg(StelUtils::radToHmsStr(ra_j2000,true), StelUtils::radToDmsStr(dec_j2000,true)) + "<br>"; } if (flags&RaDecOfDate) { double dec_equ, ra_equ; StelUtils::rectToSphe(&ra_equ,&dec_equ,getEquinoxEquatorialPos(core)); res += q_("RA/DE (of date): %1/%2").arg(StelUtils::radToHmsStr(ra_equ), StelUtils::radToDmsStr(dec_equ)) + "<br>"; } if (flags&HourAngle) { double dec_sidereal, ra_sidereal; StelUtils::rectToSphe(&ra_sidereal,&dec_sidereal,getSideralPosGeometric(core)); ra_sidereal = 2.*M_PI-ra_sidereal; if (withAtmosphere) { res += q_("Hour angle/DE: %1/%2").arg(StelUtils::radToHmsStr(ra_sidereal), StelUtils::radToDmsStr(dec_sidereal)) + " " + q_("(geometric)") + "<br>"; StelUtils::rectToSphe(&ra_sidereal,&dec_sidereal,getSideralPosApparent(core)); ra_sidereal = 2.*M_PI-ra_sidereal; res += q_("Hour angle/DE: %1/%2").arg(StelUtils::radToHmsStr(ra_sidereal), StelUtils::radToDmsStr(dec_sidereal)) + " " + q_("(apparent)") + "<br>"; } else res += q_("Hour angle/DE: %1/%2").arg(StelUtils::radToHmsStr(ra_sidereal), StelUtils::radToDmsStr(dec_sidereal)) + " " + "<br>"; } if (flags&AltAzi) { // calculate alt az double az,alt; StelUtils::rectToSphe(&az,&alt,getAltAzPosGeometric(core)); az = 3.*M_PI - az; // N is zero, E is 90 degrees if (az > M_PI*2) az -= M_PI*2; if (withAtmosphere) { res += q_("Az/Alt: %1/%2").arg(StelUtils::radToDmsStr(az), StelUtils::radToDmsStr(alt)) + " " + q_("(geometric)") + "<br>"; StelUtils::rectToSphe(&az,&alt,getAltAzPosApparent(core)); az = 3.*M_PI - az; // N is zero, E is 90 degrees if (az > M_PI*2) az -= M_PI*2; res += q_("Az/Alt: %1/%2").arg(StelUtils::radToDmsStr(az), StelUtils::radToDmsStr(alt)) + " " + q_("(apparent)") + "<br>"; } else res += q_("Az/Alt: %1/%2").arg(StelUtils::radToDmsStr(az), StelUtils::radToDmsStr(alt)) + " " + "<br>"; } return res; }
// Format the positional info string contain J2000/of date/altaz/hour angle positions for the object QString StelObject::getPositionInfoString(const StelCore *core, const InfoStringGroup& flags) const { bool withAtmosphere=core->getSkyDrawer()->getFlagHasAtmosphere(); QString res; if (flags&RaDecJ2000) { double dec_j2000, ra_j2000; StelUtils::rectToSphe(&ra_j2000,&dec_j2000,getJ2000EquatorialPos(core)); res += q_("RA/DE (J2000): %1/%2").arg(StelUtils::radToHmsStr(ra_j2000,true), StelUtils::radToDmsStr(dec_j2000,true)) + "<br>"; } if (flags&RaDecOfDate) { double dec_equ, ra_equ; StelUtils::rectToSphe(&ra_equ,&dec_equ,getEquinoxEquatorialPos(core)); res += q_("RA/DE (of date): %1/%2").arg(StelUtils::radToHmsStr(ra_equ), StelUtils::radToDmsStr(dec_equ)) + "<br>"; } if (flags&GalCoordJ2000) { double glong, glat; StelUtils::rectToSphe(&glong, &glat, getJ2000GalacticPos(core)); // Note that Gal. Coords are DEFINED in B1950 coordinates, and writing "J2000" to them does not make any sense. res += q_("Galactic longitude/latitude: %1/%2").arg(StelUtils::radToDmsStr(glong,true), StelUtils::radToDmsStr(glat,true)) + "<br>"; } if (flags&HourAngle) { double dec_sidereal, ra_sidereal; StelUtils::rectToSphe(&ra_sidereal,&dec_sidereal,getSideralPosGeometric(core)); ra_sidereal = 2.*M_PI-ra_sidereal; if (withAtmosphere) { res += q_("Hour angle/DE: %1/%2").arg(StelUtils::radToHmsStr(ra_sidereal), StelUtils::radToDmsStr(dec_sidereal)) + " " + q_("(geometric)") + "<br>"; StelUtils::rectToSphe(&ra_sidereal,&dec_sidereal,getSideralPosApparent(core)); ra_sidereal = 2.*M_PI-ra_sidereal; res += q_("Hour angle/DE: %1/%2").arg(StelUtils::radToHmsStr(ra_sidereal), StelUtils::radToDmsStr(dec_sidereal)) + " " + q_("(apparent)") + "<br>"; } else res += q_("Hour angle/DE: %1/%2").arg(StelUtils::radToHmsStr(ra_sidereal), StelUtils::radToDmsStr(dec_sidereal)) + " " + "<br>"; } if (flags&AltAzi) { // calculate alt az double az,alt; StelUtils::rectToSphe(&az,&alt,getAltAzPosGeometric(core)); az = 3.*M_PI - az; // N is zero, E is 90 degrees if (az > M_PI*2) az -= M_PI*2; if (withAtmosphere) { res += q_("Az/Alt: %1/%2").arg(StelUtils::radToDmsStr(az), StelUtils::radToDmsStr(alt)) + " " + q_("(geometric)") + "<br>"; StelUtils::rectToSphe(&az,&alt,getAltAzPosApparent(core)); az = 3.*M_PI - az; // N is zero, E is 90 degrees if (az > M_PI*2) az -= M_PI*2; res += q_("Az/Alt: %1/%2").arg(StelUtils::radToDmsStr(az), StelUtils::radToDmsStr(alt)) + " " + q_("(apparent)") + "<br>"; } else res += q_("Az/Alt: %1/%2").arg(StelUtils::radToDmsStr(az), StelUtils::radToDmsStr(alt)) + " " + "<br>"; } return res; }