diff --git a/data/scene/jupiter/io/io.mod b/data/scene/jupiter/io/io.mod index f86f070a24..5d0ddedd0f 100644 --- a/data/scene/jupiter/io/io.mod +++ b/data/scene/jupiter/io/io.mod @@ -37,7 +37,7 @@ return { -- IoTrail module { Name = "IoTrail", - Parent = "Io", + Parent = "JupiterBarycenter", Renderable = { Type = "RenderableTrail", Body = "IO", diff --git a/src/rendering/renderengine.cpp b/src/rendering/renderengine.cpp index 08265eae52..8a90d3fa17 100644 --- a/src/rendering/renderengine.cpp +++ b/src/rendering/renderengine.cpp @@ -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));