Nebula.cpp   Nebula.cpp 
skipping to change at line 40 skipping to change at line 40
#include "StelCore.hpp" #include "StelCore.hpp"
#include "StelPainter.hpp" #include "StelPainter.hpp"
#include <QTextStream> #include <QTextStream>
#include <QFile> #include <QFile>
#include <QString> #include <QString>
#include <QDebug> #include <QDebug>
#include <QBuffer> #include <QBuffer>
const QString Nebula::NEBULA_TYPE = QStringLiteral("Nebula");
StelTextureSP Nebula::texCircle; StelTextureSP Nebula::texCircle;
StelTextureSP Nebula::texGalaxy; StelTextureSP Nebula::texGalaxy;
StelTextureSP Nebula::texOpenCluster; StelTextureSP Nebula::texOpenCluster;
StelTextureSP Nebula::texGlobularCluster; StelTextureSP Nebula::texGlobularCluster;
StelTextureSP Nebula::texPlanetaryNebula; StelTextureSP Nebula::texPlanetaryNebula;
StelTextureSP Nebula::texDiffuseNebula; StelTextureSP Nebula::texDiffuseNebula;
StelTextureSP Nebula::texDarkNebula; StelTextureSP Nebula::texDarkNebula;
StelTextureSP Nebula::texOpenClusterWithNebulosity; StelTextureSP Nebula::texOpenClusterWithNebulosity;
bool Nebula::drawHintProportional = false; bool Nebula::drawHintProportional = false;
bool Nebula::surfaceBrightnessUsage = false; bool Nebula::surfaceBrightnessUsage = false;
skipping to change at line 86 skipping to change at line 88
Vec3f Nebula::blazarColor = Vec3f(1.0f,1.0f,0.1f); Vec3f Nebula::blazarColor = Vec3f(1.0f,1.0f,0.1f);
Vec3f Nebula::molecularCloudColor = Vec3f(1.0f,1.0f,0.1f); Vec3f Nebula::molecularCloudColor = Vec3f(1.0f,1.0f,0.1f);
Vec3f Nebula::youngStellarObjectColor = Vec3f(1.0f,1.0f,0.1f); Vec3f Nebula::youngStellarObjectColor = Vec3f(1.0f,1.0f,0.1f);
Vec3f Nebula::possibleQuasarColor = Vec3f(1.0f,0.2f,0.2f); Vec3f Nebula::possibleQuasarColor = Vec3f(1.0f,0.2f,0.2f);
Vec3f Nebula::possiblePlanetaryNebulaColor = Vec3f(1.0f,1.0f,0.1f); Vec3f Nebula::possiblePlanetaryNebulaColor = Vec3f(1.0f,1.0f,0.1f);
Vec3f Nebula::protoplanetaryNebulaColor = Vec3f(1.0f,1.0f,0.1f); Vec3f Nebula::protoplanetaryNebulaColor = Vec3f(1.0f,1.0f,0.1f);
Vec3f Nebula::starColor = Vec3f(1.0f,1.0f,0.1f); Vec3f Nebula::starColor = Vec3f(1.0f,1.0f,0.1f);
bool Nebula::flagUseTypeFilters = false; bool Nebula::flagUseTypeFilters = false;
Nebula::CatalogGroup Nebula::catalogFilters = Nebula::CatalogGroup(0); Nebula::CatalogGroup Nebula::catalogFilters = Nebula::CatalogGroup(0);
Nebula::TypeGroup Nebula::typeFilters = Nebula::TypeGroup(Nebula::AllTypes) ; Nebula::TypeGroup Nebula::typeFilters = Nebula::TypeGroup(Nebula::AllTypes) ;
bool Nebula::flagUseArcsecSurfaceBrightness = false;
Nebula::Nebula() Nebula::Nebula()
: DSO_nb(0) : DSO_nb(0)
, M_nb(0) , M_nb(0)
, NGC_nb(0) , NGC_nb(0)
, IC_nb(0) , IC_nb(0)
, C_nb(0) , C_nb(0)
, B_nb(0) , B_nb(0)
, Sh2_nb(0) , Sh2_nb(0)
, VdB_nb(0) , VdB_nb(0)
, RCW_nb(0) , RCW_nb(0)
, LDN_nb(0) , LDN_nb(0)
, LBN_nb(0) , LBN_nb(0)
, Cr_nb(0) , Cr_nb(0)
, Mel_nb(0) , Mel_nb(0)
, PGC_nb(0) , PGC_nb(0)
, UGC_nb(0) , UGC_nb(0)
, Ced_nb() , Arp_nb(0)
, VV_nb(0)
, Ced_nb("")
, PK_nb("")
, withoutID(false)
, nameI18("") , nameI18("")
, mTypeString() , mTypeString()
, bMag(99.) , bMag(99.)
, vMag(99.) , vMag(99.)
, majorAxisSize(0.) , majorAxisSize(0.)
, minorAxisSize(0.) , minorAxisSize(0.)
, orientationAngle(0) , orientationAngle(0)
, oDistance(0.) , oDistance(0.)
, oDistanceErr(0.) , oDistanceErr(0.)
, redshift(99.) , redshift(99.)
skipping to change at line 177 skipping to change at line 184
if (Cr_nb > 0) if (Cr_nb > 0)
catIds << QString("Cr %1").arg(Cr_nb); catIds << QString("Cr %1").arg(Cr_nb);
if (Mel_nb > 0) if (Mel_nb > 0)
catIds << QString("Mel %1").arg(Mel_nb); catIds << QString("Mel %1").arg(Mel_nb);
if (PGC_nb > 0) if (PGC_nb > 0)
catIds << QString("PGC %1").arg(PGC_nb); catIds << QString("PGC %1").arg(PGC_nb);
if (UGC_nb > 0) if (UGC_nb > 0)
catIds << QString("UGC %1").arg(UGC_nb); catIds << QString("UGC %1").arg(UGC_nb);
if (!Ced_nb.isEmpty()) if (!Ced_nb.isEmpty())
catIds << QString("Ced %1").arg(Ced_nb); catIds << QString("Ced %1").arg(Ced_nb);
if (Arp_nb > 0)
catIds << QString("Arp %1").arg(Arp_nb);
if (VV_nb > 0)
catIds << QString("VV %1").arg(VV_nb);
if (!PK_nb.isEmpty())
catIds << QString("PK %1").arg(PK_nb);
if (!nameI18.isEmpty() && !catIds.isEmpty() && flags&Name) if (!nameI18.isEmpty() && !catIds.isEmpty() && flags&Name)
oss << "<br>"; oss << "<br>";
oss << catIds.join(" - "); oss << catIds.join(" - ");
} }
if ((flags&Name) || (flags&CatalogNumber)) if ((flags&Name) || (flags&CatalogNumber))
oss << "</h2>"; oss << "</h2>";
skipping to change at line 222 skipping to change at line 235
{ {
oss << q_("Magnitude: <b>%1</b>").arg(bMag, 0, 'f', 2) oss << q_("Magnitude: <b>%1</b>").arg(bMag, 0, 'f', 2)
<< q_(" (Photometric system: B)") << q_(" (Photometric system: B)")
<< "<br>"; << "<br>";
} }
if (flags&Extra) if (flags&Extra)
{ {
if (vMag < 50 && bMag < 50) if (vMag < 50 && bMag < 50)
oss << q_("Color Index (B-V): <b>%1</b>").arg(QStrin g::number(bMag-vMag, 'f', 2)) << "<br>"; oss << q_("Color Index (B-V): <b>%1</b>").arg(QStrin g::number(bMag-vMag, 'f', 2)) << "<br>";
} }
if (nType != NebDn && vMag < 50 && flags&Extra) float mmag = qMin(vMag,bMag);
if (nType != NebDn && mmag < 50 && flags&Extra)
{ {
QString sb = q_("Surface brightness");
QString ae = q_("after extinction");
QString mu = QString("<sup>m</sup>/%1'").arg(QChar(0x2B1C));
if (flagUseArcsecSurfaceBrightness)
mu = QString("<sup>m</sup>/%1\"").arg(QChar(0x2B1C))
;
if (core->getSkyDrawer()->getFlagHasAtmosphere() && (alt_app >-3.0*M_PI/180.0)) // Don't show extincted surface brightness much below ho rizon where model is meaningless. if (core->getSkyDrawer()->getFlagHasAtmosphere() && (alt_app >-3.0*M_PI/180.0)) // Don't show extincted surface brightness much below ho rizon where model is meaningless.
{ {
if (getSurfaceBrightness(core)<99 && getSurfaceBrigh if (getSurfaceBrightness(core)<99)
tnessWithExtinction(core)<99) {
oss << q_("Surface brightness: <b>%1</b> (af if (getSurfaceBrightnessWithExtinction(core)
ter extinction: <b>%2</b>)").arg(QString::number(getSurfaceBrightness(core) <99)
, 'f', 2), oss << QString("%1: <b>%2</b> %5 (%3
: <b>%4</b> %5)").arg(sb, QString::number(getSurfaceBrightness(core, flagUs
QString::number(getSurfaceBrightnessWithEx eArcsecSurfaceBrightness), 'f', 2),
tinction(core), 'f', 2)) << "<br>";
ae, QString::number(getSurfaceBrightnessWithExtinctio
n(core, flagUseArcsecSurfaceBrightness), 'f', 2), mu) << "<br>";
else
oss << QString("%1: <b>%2</b> %3").a
rg(sb, QString::number(getSurfaceBrightness(core, flagUseArcsecSurfaceBrigh
tness), 'f', 2), mu) << "<br>";
oss << q_("Contrast index: %1").arg(QString:
:number(getContrastIndex(core), 'f', 2)) << "<br />";
}
} }
else else
{ {
if (getSurfaceBrightness(core)<99) if (getSurfaceBrightness(core)<99)
oss << q_("Surface brightness: <b>%1</b>").a {
rg(QString::number(getSurfaceBrightness(core), 'f', 2)) << "<br>"; oss << QString("%1: <b>%2</b> %3").arg(sb, Q
String::number(getSurfaceBrightness(core, flagUseArcsecSurfaceBrightness),
'f', 2), mu) << "<br>";
oss << q_("Contrast index: %1").arg(QString:
:number(getContrastIndex(core), 'f', 2)) << "<br />";
}
} }
} }
oss << getPositionInfoString(core, flags); oss << getPositionInfoString(core, flags);
if (majorAxisSize>0 && flags&Size) if (majorAxisSize>0 && flags&Size)
{ {
if (majorAxisSize==minorAxisSize || minorAxisSize==0.f) if (majorAxisSize==minorAxisSize || minorAxisSize==0.f)
oss << q_("Size: %1").arg(StelUtils::radToDmsStr(maj orAxisSize*M_PI/180.)) << "<br>"; oss << q_("Size: %1").arg(StelUtils::radToDmsStr(maj orAxisSize*M_PI/180.)) << "<br>";
else else
skipping to change at line 430 skipping to change at line 460
Vec3f Nebula::getInfoColor(void) const Vec3f Nebula::getInfoColor(void) const
{ {
return ((NebulaMgr*)StelApp::getInstance().getModuleMgr().getModule( "NebulaMgr"))->getLabelsColor(); return ((NebulaMgr*)StelApp::getInstance().getModuleMgr().getModule( "NebulaMgr"))->getLabelsColor();
} }
double Nebula::getCloseViewFov(const StelCore*) const double Nebula::getCloseViewFov(const StelCore*) const
{ {
return majorAxisSize>0 ? majorAxisSize * 4 : 1; return majorAxisSize>0 ? majorAxisSize * 4 : 1;
} }
float Nebula::getSurfaceBrightness(const StelCore* core) const float Nebula::getSurfaceBrightness(const StelCore* core, bool arcsec) const
{ {
if (getVMagnitude(core)<99.f && majorAxisSize>0 && nType!=NebDn) float mag = getVMagnitude(core);
return getVMagnitude(core) + 2.5*log10(getSurfaceArea()*3600 float sq = 3600.f; // arcmin^2
.f); if (arcsec)
sq = 12.96e6; // 3600.f*3600.f, i.e. arcsec^2
if (bMag < 50.f && mag > 50.f)
mag = bMag;
if (mag<99.f && majorAxisSize>0 && nType!=NebDn)
return mag + 2.5*log10(getSurfaceArea()*sq);
else else
return 99.f; return 99.f;
} }
float Nebula::getSurfaceBrightnessWithExtinction(const StelCore* core) cons t float Nebula::getSurfaceBrightnessWithExtinction(const StelCore* core, bool arcsec) const
{ {
float sq = 3600.f; // arcmin^2
if (arcsec)
sq = 12.96e6; // 3600.f*3600.f, i.e. arcsec^2
if (getVMagnitudeWithExtinction(core)<99.f && majorAxisSize>0 && nTy pe!=NebDn) if (getVMagnitudeWithExtinction(core)<99.f && majorAxisSize>0 && nTy pe!=NebDn)
return getVMagnitudeWithExtinction(core) + 2.5*log10(getSurf aceArea()*3600.f); return getVMagnitudeWithExtinction(core) + 2.5*log10(getSurf aceArea()*sq);
else else
return 99.f; return 99.f;
} }
float Nebula::getContrastIndex(const StelCore* core) const
{
// Compute an extended object's contrast index: http://www.unihedron
.com/projects/darksky/NELM2BCalc.html
// Sky brightness
// Source: Schaefer, B.E. Feb. 1990. Telescopic Limiting Magnitude.
PASP 102:212-229
// URL: http://adsbit.harvard.edu/cgi-bin/nph-iarticle_query?bibcode
=1990PASP..102..212S [1990PASP..102..212S]
float B_mpsas = 21.58 - 5*log10(std::pow(10, 1.586 - core->getSkyDra
wer()->getNELMFromBortleScale()/5)-1);
// Compute an extended object's contrast index
// Source: Clark, R.N., 1990. Appendix E in Visual Astronomy of the
Deep Sky, Cambridge University Press and Sky Publishing.
// URL: http://www.clarkvision.com/visastro/appendix-e.html
return -0.4 * (getSurfaceBrightnessWithExtinction(core, true) - B_mp
sas);
}
float Nebula::getSurfaceArea(void) const float Nebula::getSurfaceArea(void) const
{ {
if (majorAxisSize==minorAxisSize || minorAxisSize==0) if (majorAxisSize==minorAxisSize || minorAxisSize==0)
return M_PI*(majorAxisSize/2.f)*(majorAxisSize/2.f); // S = pi*R^2 = pi*(D/2)^2 return M_PI*(majorAxisSize/2.f)*(majorAxisSize/2.f); // S = pi*R^2 = pi*(D/2)^2
else else
return M_PI*(majorAxisSize/2.f)*(minorAxisSize/2.f); // S = pi*a*b return M_PI*(majorAxisSize/2.f)*(minorAxisSize/2.f); // S = pi*a*b
} }
void Nebula::drawHints(StelPainter& sPainter, float maxMagHints) void Nebula::drawHints(StelPainter& sPainter, float maxMagHints) const
{ {
StelCore* core = StelApp::getInstance().getCore(); StelCore* core = StelApp::getInstance().getCore();
Vec3d win;
// Check visibility of DSO hints
if (!(sPainter.getProjector()->projectCheck(XYZ, win)))
return;
float lim = qMin(vMag, bMag); float lim = qMin(vMag, bMag);
if (surfaceBrightnessUsage) if (surfaceBrightnessUsage)
{ {
lim = getSurfaceBrightness(core) - 3.f; lim = getSurfaceBrightness(core) - 3.f;
if (lim > 50) lim = 16.f; if (lim > 50) lim = 16.f;
} }
else else
{ {
float mag = getVMagnitude(core); float mag = getVMagnitude(core);
skipping to change at line 492 skipping to change at line 551
} }
else if (nType==NebHII) // NebHII={Sharpless, LBN, RCW} else if (nType==NebHII) // NebHII={Sharpless, LBN, RCW}
{ // artificially increase visibility of (most) Sharpless ob jects? No magnitude recorded:-( { // artificially increase visibility of (most) Sharpless ob jects? No magnitude recorded:-(
lim=9.0f; lim=9.0f;
} }
} }
if (lim>maxMagHints) if (lim>maxMagHints)
return; return;
Vec3d win;
// Check visibility of DSO hints
if (!(sPainter.getProjector()->projectCheck(XYZ, win)))
return;
sPainter.setBlending(true, GL_ONE, GL_ONE); sPainter.setBlending(true, GL_ONE, GL_ONE);
float lum = 1.f;//qMin(1,4.f/getOnScreenSize(core))*0.8; float lum = 1.f;//qMin(1,4.f/getOnScreenSize(core))*0.8;
Vec3f color=circleColor; Vec3f color=circleColor;
switch (nType) switch (nType)
{ {
case NebGx: case NebGx:
Nebula::texGalaxy->bind(); Nebula::texGalaxy->bind();
color=galaxyColor; color=galaxyColor;
break; break;
skipping to change at line 647 skipping to change at line 701
Vec3d XYrel; Vec3d XYrel;
sPainter.getProjector()->project(XYZrel, XYrel); sPainter.getProjector()->project(XYZrel, XYrel);
float screenAngle=atan2(XYrel[1]-XY[1], XYrel[0]-XY[0]); float screenAngle=atan2(XYrel[1]-XY[1], XYrel[0]-XY[0]);
sPainter.drawSprite2dMode(XY[0], XY[1], qMax(size, scaledSiz e), screenAngle*180./M_PI + orientationAngle); sPainter.drawSprite2dMode(XY[0], XY[1], qMax(size, scaledSiz e), screenAngle*180./M_PI + orientationAngle);
} }
else // no galaxy else // no galaxy
sPainter.drawSprite2dMode(XY[0], XY[1], qMax(size, scaledSiz e)); sPainter.drawSprite2dMode(XY[0], XY[1], qMax(size, scaledSiz e));
} }
void Nebula::drawLabel(StelPainter& sPainter, float maxMagLabel) void Nebula::drawLabel(StelPainter& sPainter, float maxMagLabel) const
{ {
StelCore* core = StelApp::getInstance().getCore(); StelCore* core = StelApp::getInstance().getCore();
Vec3d win;
// Check visibility of DSO labels
if (!(sPainter.getProjector()->projectCheck(XYZ, win)))
return;
float lim = qMin(vMag, bMag); float lim = qMin(vMag, bMag);
if (surfaceBrightnessUsage) if (surfaceBrightnessUsage)
{ {
lim = getSurfaceBrightness(core) - 3.f; lim = getSurfaceBrightness(core) - 3.f;
if (lim > 50) lim = 16.f; if (lim > 50) lim = 16.f;
} }
else else
{ {
float mag = getVMagnitude(core); float mag = getVMagnitude(core);
skipping to change at line 683 skipping to change at line 742
else else
lim= 12.0f; // GZ I assume some LDN objects are rather elusive. lim= 12.0f; // GZ I assume some LDN objects are rather elusive.
} }
else if (nType==NebHII) else if (nType==NebHII)
lim=9.0f; lim=9.0f;
} }
if (lim>maxMagLabel) if (lim>maxMagLabel)
return; return;
Vec3d win;
// Check visibility of DSO labels
if (!(sPainter.getProjector()->projectCheck(XYZ, win)))
return;
Vec3f col(labelColor[0], labelColor[1], labelColor[2]); Vec3f col(labelColor[0], labelColor[1], labelColor[2]);
if (objectInDisplayedType()) if (objectInDisplayedType())
sPainter.setColor(col[0], col[1], col[2], hintsBrightness); sPainter.setColor(col[0], col[1], col[2], hintsBrightness);
else else
sPainter.setColor(col[0], col[1], col[2], 0.f); sPainter.setColor(col[0], col[1], col[2], 0.f);
float size = getAngularSize(NULL)*M_PI/180.*sPainter.getProjector()- >getPixelPerRadAtCenter(); float size = getAngularSize(Q_NULLPTR)*M_PI/180.*sPainter.getProject or()->getPixelPerRadAtCenter();
float shift = 4.f + (drawHintProportional ? size : size/1.8f); float shift = 4.f + (drawHintProportional ? size : size/1.8f);
QString str = getNameI18n(); QString str = getNameI18n();
if (str.isEmpty() || designationUsage) if (str.isEmpty() || designationUsage)
str = getDSODesignation(); str = getDSODesignation();
sPainter.drawText(XY[0]+shift, XY[1]+shift, str, 0, 0, 0, false); sPainter.drawText(XY[0]+shift, XY[1]+shift, str, 0, 0, 0, false);
} }
QString Nebula::getDSODesignation() QString Nebula::getDSODesignation() const
{ {
QString str = ""; QString str = "";
// Get designation for DSO with priority as given here. // Get designation for DSO with priority as given here.
if (catalogFilters&CatM && M_nb>0) if (catalogFilters&CatM && M_nb>0)
str = QString("M %1").arg(M_nb); str = QString("M %1").arg(M_nb);
else if (catalogFilters&CatC && C_nb>0) else if (catalogFilters&CatC && C_nb>0)
str = QString("C %1").arg(C_nb); str = QString("C %1").arg(C_nb);
else if (catalogFilters&CatNGC && NGC_nb>0) else if (catalogFilters&CatNGC && NGC_nb>0)
str = QString("NGC %1").arg(NGC_nb); str = QString("NGC %1").arg(NGC_nb);
else if (catalogFilters&CatIC && IC_nb>0) else if (catalogFilters&CatIC && IC_nb>0)
skipping to change at line 738 skipping to change at line 792
else if (catalogFilters&CatCr && Cr_nb > 0) else if (catalogFilters&CatCr && Cr_nb > 0)
str = QString("Cr %1").arg(Cr_nb); str = QString("Cr %1").arg(Cr_nb);
else if (catalogFilters&CatMel && Mel_nb > 0) else if (catalogFilters&CatMel && Mel_nb > 0)
str = QString("Mel %1").arg(Mel_nb); str = QString("Mel %1").arg(Mel_nb);
else if (catalogFilters&CatPGC && PGC_nb > 0) else if (catalogFilters&CatPGC && PGC_nb > 0)
str = QString("PGC %1").arg(PGC_nb); str = QString("PGC %1").arg(PGC_nb);
else if (catalogFilters&CatUGC && UGC_nb > 0) else if (catalogFilters&CatUGC && UGC_nb > 0)
str = QString("UGC %1").arg(UGC_nb); str = QString("UGC %1").arg(UGC_nb);
else if (catalogFilters&CatCed && !Ced_nb.isEmpty()) else if (catalogFilters&CatCed && !Ced_nb.isEmpty())
str = QString("Ced %1").arg(Ced_nb); str = QString("Ced %1").arg(Ced_nb);
else if (catalogFilters&CatArp && Arp_nb > 0)
str = QString("Arp %1").arg(Arp_nb);
else if (catalogFilters&CatVV && VV_nb > 0)
str = QString("VV %1").arg(VV_nb);
else if (catalogFilters&CatPK && !PK_nb.isEmpty())
str = QString("PK %1").arg(PK_nb);
return str; return str;
} }
void Nebula::readDSO(QDataStream &in) void Nebula::readDSO(QDataStream &in)
{ {
float ra, dec; float ra, dec;
unsigned int oType; unsigned int oType;
in >> DSO_nb >> ra >> dec >> bMag >> vMag >> oType >> mTypeStri ng >> majorAxisSize >> minorAxisSize in >> DSO_nb >> ra >> dec >> bMag >> vMag >> oType >> mTypeStri ng >> majorAxisSize >> minorAxisSize
>> orientationAngle >> redshift >> redshiftErr >> parallax > > parallaxErr >> oDistance >> oDistanceErr >> orientationAngle >> redshift >> redshiftErr >> parallax > > parallaxErr >> oDistance >> oDistanceErr
>> NGC_nb >> IC_nb >> M_nb >> C_nb >> B_nb >> Sh2_nb >> VdB_ nb >> RCW_nb >> LDN_nb >> LBN_nb >> Cr_nb >> NGC_nb >> IC_nb >> M_nb >> C_nb >> B_nb >> Sh2_nb >> VdB_ nb >> RCW_nb >> LDN_nb >> LBN_nb >> Cr_nb
>> Mel_nb >> PGC_nb >> UGC_nb >> Ced_nb; >> Mel_nb >> PGC_nb >> UGC_nb >> Ced_nb >> Arp_nb >> VV_nb >
> PK_nb;
int f = NGC_nb + IC_nb + M_nb + C_nb + B_nb + Sh2_nb + VdB_nb + RCW_
nb + LDN_nb + LBN_nb + Cr_nb + Mel_nb + PGC_nb + UGC_nb + Arp_nb + VV_nb;
if (f==0 && Ced_nb.isEmpty() && PK_nb.isEmpty())
withoutID = true;
StelUtils::spheToRect(ra,dec,XYZ); StelUtils::spheToRect(ra,dec,XYZ);
Q_ASSERT(fabs(XYZ.lengthSquared()-1.)<0.000000001); Q_ASSERT(fabs(XYZ.lengthSquared()-1.)<0.000000001);
nType = (Nebula::NebulaType)oType; nType = (Nebula::NebulaType)oType;
pointRegion = SphericalRegionP(new SphericalPoint(getJ2000Equatorial Pos(NULL))); pointRegion = SphericalRegionP(new SphericalPoint(getJ2000Equatorial Pos(Q_NULLPTR)));
} }
bool Nebula::objectInDisplayedType() const bool Nebula::objectInDisplayedType() const
{ {
if (!flagUseTypeFilters) if (!flagUseTypeFilters)
return true; return true;
bool r = false; bool r = false;
int cntype = -1; int cntype = -1;
switch (nType) switch (nType)
 End of changes. 25 change blocks. 
34 lines changed or deleted 111 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/