diff --git a/data/scene/default.scene b/data/scene/default.scene index 75161d487e..1746f206a0 100644 --- a/data/scene/default.scene +++ b/data/scene/default.scene @@ -42,18 +42,18 @@ return { }, Modules = { "sun", - "mercury", - "venus", + --"mercury", + --"venus", "earth", - "mars", - "jupiter", - "saturn", - "uranus", - "neptune", - "stars", + --"mars", + --"jupiter", + --"saturn", + --"uranus", + --"neptune", + --"stars", --"stars-denver", "milkyway", - "milkyway-eso", + --"milkyway-eso", --"constellationbounds", --"io", --"europa", diff --git a/include/openspace/util/transformationmanager.h b/include/openspace/util/transformationmanager.h index 9dd3c2f9e4..bd3f74065b 100644 --- a/include/openspace/util/transformationmanager.h +++ b/include/openspace/util/transformationmanager.h @@ -42,6 +42,8 @@ public: glm::dmat3 frameTransformationMatrix(std::string from, std::string to, double ephemerisTime) const; private: + glm::dmat3 kameleonTransformationMatrix(std::string from, std::string to, double ephemerisTime) const; + std::shared_ptr _kameleon; std::set _kameleonFrames; std::set _dipoleFrames; diff --git a/modules/iswa/util/dataprocessortext.cpp b/modules/iswa/util/dataprocessortext.cpp index 4f27d31229..9034f9b708 100644 --- a/modules/iswa/util/dataprocessortext.cpp +++ b/modules/iswa/util/dataprocessortext.cpp @@ -24,7 +24,7 @@ #include #include #include - +#include namespace { const std::string _loggerCat = "DataProcessorText"; } @@ -102,7 +102,7 @@ void DataProcessorText::addDataValues(std::string data, properties::SelectionPro back_inserter(values) ); - if(values.size() <= 0) continue; + if(values.size() <= 0) continue; for(int i=0; i_cxform(from.c_str(), to.c_str(), ephemerisTime, &in0, &out0); + _kameleon->_cxform(from.c_str(), to.c_str(), ephemerisTime, &in1, &out1); + _kameleon->_cxform(from.c_str(), to.c_str(), ephemerisTime, &in2, &out2); + + return glm::dmat3( + out0.c0 , out0.c1 , out0.c2, + out1.c0 , out1.c1 , out1.c2, + out2.c0 , out2.c1 , out2.c2 + ); + } + glm::dmat3 TransformationManager::frameTransformationMatrix(std::string from, std::string to, double ephemerisTime) const @@ -67,7 +90,13 @@ ccmc::Position in0 = {1.f, 0.f, 0.f}; ccmc::Position in1 = {0.f, 1.f, 0.f}; - ccmc::Position in2 = {0.f, 0.f , 1.f}; + ccmc::Position in2 = {0.f, 0.f, 1.f}; + + glm::dmat3 in( + in0.c0, in0.c1, in0.c2, + in1.c0, in1.c1, in1.c2, + in2.c0, in2.c1, in2.c2 + ); ccmc::Position out0; ccmc::Position out1; @@ -79,43 +108,17 @@ #ifdef OPENSPACE_MODULE_KAMELEON_ENABLED if(fromKameleon && toKameleon){ - _kameleon->_cxform(from.c_str(), to.c_str(), ephemerisTime, &in0, &out0); - _kameleon->_cxform(from.c_str(), to.c_str(), ephemerisTime, &in1, &out1); - _kameleon->_cxform(from.c_str(), to.c_str(), ephemerisTime, &in2, &out2); - - return glm::dmat3( - out0.c0 , out0.c1 , out0.c2, - out1.c0 , out1.c1 , out1.c2, - out2.c0 , out2.c1 , out2.c2 - ); + return kameleonTransformationMatrix(from, to, ephemerisTime); }else if(fromKameleon && !toKameleon){ - _kameleon->_cxform(from.c_str(), "J2000", ephemerisTime, &in0, &out0); - _kameleon->_cxform(from.c_str(), "J2000", ephemerisTime, &in1, &out1); - _kameleon->_cxform(from.c_str(), "J2000", ephemerisTime, &in2, &out2); - - glm::dmat3 kameleonTransformation( - out0.c0 , out0.c1 , out0.c2, - out1.c0 , out1.c1 , out1.c2, - out2.c0 , out2.c1 , out2.c2 - ); - + glm::dmat3 kameleonTransformation = kameleonTransformationMatrix(from, "J2000", ephemerisTime); glm::dmat3 spiceTransformation = SpiceManager::ref().frameTransformationMatrix("J2000", to, ephemerisTime); return spiceTransformation*kameleonTransformation; }else if(!fromKameleon && toKameleon){ glm::dmat3 spiceTransformation = SpiceManager::ref().frameTransformationMatrix(from, "J2000", ephemerisTime); - - _kameleon->_cxform("J2000", to.c_str(), ephemerisTime, &in0, &out0); - _kameleon->_cxform("J2000", to.c_str(), ephemerisTime, &in1, &out1); - _kameleon->_cxform("J2000", to.c_str(), ephemerisTime, &in2, &out2); - - glm::dmat3 kameleonTransformation( - out0.c0 , out0.c1 , out0.c2, - out1.c0 , out1.c1 , out1.c2, - out2.c0 , out2.c1 , out2.c2 - ); + glm::dmat3 kameleonTransformation = kameleonTransformationMatrix("J2000", to, ephemerisTime); return kameleonTransformation*spiceTransformation; }