Fix Io trail

Do not crash coordinate system change if some nodes are not loaded
This commit is contained in:
Alexander Bock
2016-07-08 10:49:05 +02:00
2 changed files with 15 additions and 8 deletions

View File

@@ -37,7 +37,7 @@ return {
-- IoTrail module
{
Name = "IoTrail",
Parent = "Io",
Parent = "JupiterBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "IO",

View File

@@ -849,9 +849,11 @@ void RenderEngine::changeViewPoint(std::string origin) {
if (origin == "Sun") {
solarSystemBarycenterNode->setParent(scene()->sceneGraphNode("SolarSystem"));
plutoBarycenterNode->setParent(solarSystemBarycenterNode);
if (plutoBarycenterNode)
plutoBarycenterNode->setParent(solarSystemBarycenterNode);
jupiterBarycenterNode->setParent(solarSystemBarycenterNode);
newHorizonsNode->setParent(solarSystemBarycenterNode);
if (newHorizonsNode)
newHorizonsNode->setParent(solarSystemBarycenterNode);
//newHorizonsGhostNode->setParent(solarSystemBarycenterNode);
//newHorizonsTrailNode->setParent(solarSystemBarycenterNode);
@@ -877,7 +879,8 @@ void RenderEngine::changeViewPoint(std::string origin) {
solarSystemBarycenterNode->setEphemeris(new StaticEphemeris);
jupiterBarycenterNode->setEphemeris(new SpiceEphemeris(jupiterDictionary));
plutoBarycenterNode->setEphemeris(new SpiceEphemeris(plutoDictionary));
if (plutoBarycenterNode)
plutoBarycenterNode->setEphemeris(new SpiceEphemeris(plutoDictionary));
ghoul::Dictionary newHorizonsDictionary =
{
@@ -887,7 +890,8 @@ void RenderEngine::changeViewPoint(std::string origin) {
{ std::string("Observer"), std::string("SUN") },
{ std::string("Kernels"), ghoul::Dictionary() }
};
newHorizonsNode->setEphemeris(new SpiceEphemeris(newHorizonsDictionary));
if (newHorizonsNode)
newHorizonsNode->setEphemeris(new SpiceEphemeris(newHorizonsDictionary));
//newHorizonsTrailNode->setEphemeris(new SpiceEphemeris(newHorizonsDictionary));
@@ -937,7 +941,8 @@ void RenderEngine::changeViewPoint(std::string origin) {
jupiterBarycenterNode->setEphemeris(new StaticEphemeris);
solarSystemBarycenterNode->setParent(jupiterBarycenterNode);
newHorizonsNode->setParent(jupiterBarycenterNode);
if (newHorizonsNode)
newHorizonsNode->setParent(jupiterBarycenterNode);
//newHorizonsTrailNode->setParent(jupiterBarycenterNode);
//dawnNode->setParent(jupiterBarycenterNode);
@@ -971,8 +976,10 @@ void RenderEngine::changeViewPoint(std::string origin) {
{ std::string("Kernels"), ghoul::Dictionary() }
};
solarSystemBarycenterNode->setEphemeris(new SpiceEphemeris(solarDictionary));
plutoBarycenterNode->setEphemeris(new SpiceEphemeris(plutoDictionary));
newHorizonsNode->setEphemeris(new SpiceEphemeris(newHorizonsDictionary));
if (plutoBarycenterNode)
plutoBarycenterNode->setEphemeris(new SpiceEphemeris(plutoDictionary));
if (newHorizonsNode)
newHorizonsNode->setEphemeris(new SpiceEphemeris(newHorizonsDictionary));
//newHorizonsGhostNode->setParent(jupiterBarycenterNode);
//newHorizonsTrailNode->setEphemeris(new SpiceEphemeris(newHorizonsDictionary));