diff --git a/include/openspace/rendering/renderablepath.h b/include/openspace/rendering/renderablepath.h index ba31e0c6c9..5c2eb1e7f5 100644 --- a/include/openspace/rendering/renderablepath.h +++ b/include/openspace/rendering/renderablepath.h @@ -22,8 +22,8 @@ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * ****************************************************************************************/ -#ifndef __RENDERABLETPATH_H__ -#define __RENDERABLETPATH_H__ +#ifndef __RenderablePath_H__ +#define __RenderablePath_H__ // open space includes #include @@ -36,56 +36,58 @@ //#include namespace openspace { -class RenderablePath : public Renderable{ -public: - RenderablePath(const ghoul::Dictionary& dictionary); - ~RenderablePath(); + class RenderablePath : public Renderable{ + public: + RenderablePath(const ghoul::Dictionary& dictionary); + ~RenderablePath(); - bool initialize() override; - bool deinitialize() override; + bool initialize() override; + bool deinitialize() override; - void render(const RenderData& data) override; - void update(const UpdateData& data) override; - private: - properties::StringProperty _colorTexturePath; // not used now, will be later though. + void render(const RenderData& data) override; + void update(const UpdateData& data) override; + private: + properties::StringProperty _colorTexturePath; + ghoul::opengl::ProgramObject* _programObject; + ghoul::opengl::Texture* _texture; + void loadTexture(); + void fullYearSweep(); - ghoul::opengl::ProgramObject* _programObject; - ghoul::opengl::Texture* _texture; - void loadTexture(); + // modfile reads + // spice + std::string _target; + std::string _observer; + std::string _frame; + // color + glm::vec3 _c; + double _r, _g, _b; - /* typedef struct { - GLfloat location[4]; - GLfloat velocity[4]; - GLubyte padding[32]; // Pads the struct out to 64 bytes for performance increase - } Vertex; - */ - // need to write robust method for vbo id selection - // (right now galactic grid has to be present) (why though?) solve later... - GLuint _vaoID = 6; - GLuint _vBufferID = 7; - GLuint _iBufferID = 8; + // need to write robust method for vbo id selection + // (right now galactic grid has to be present) (why though?) solve later... + GLuint _vaoID; + GLuint _vBufferID; + GLuint _iBufferID; - void nextIndex(); + void nextIndex(); - GLenum _mode; - unsigned int _isize; - unsigned int _vsize; - unsigned int _vtotal; - unsigned int _stride; - - //Vertex* _varray; - std::vector _varray; - int* _iarray; + GLenum _mode; + unsigned int _isize; + unsigned int _vsize; + unsigned int _vtotal; + unsigned int _stride; - bool* _updated; + //Vertex* _varray; + std::vector _varray; + int* _iarray; - psc _pscpos, _pscvel; + //used for update of trail + psc _pscpos, _pscvel; + double _increment; + double _time = 0; + double _oldTime = 0; - std::vector> _intervals; - double _increment; - // etc... - double _time = 0; - double _oldTime = 0; -}; + int _delta = 0; + int _dtprogress = 0; + }; } #endif \ No newline at end of file diff --git a/include/openspace/util/constants.h b/include/openspace/util/constants.h index 820ef94aa1..a523c2b423 100644 --- a/include/openspace/util/constants.h +++ b/include/openspace/util/constants.h @@ -37,6 +37,7 @@ namespace configurationmanager { const std::string keyStartupScript = "StartupScripts"; const std::string keySpiceTimeKernel = "SpiceKernel.Time"; const std::string keySpiceLeapsecondKernel = "SpiceKernel.LeapSecond"; + const std::string keySpiceNewHorizons = "SpiceKernel.NewHorizons"; } // namespace configurationmanager namespace scenegraph { diff --git a/openspace.cfg b/openspace.cfg index b26612dd31..0e341a9ea4 100644 --- a/openspace.cfg +++ b/openspace.cfg @@ -12,7 +12,8 @@ return { }, SpiceKernel = { Time = "${OPENSPACE_DATA}/spice/naif0010.tls", - LeapSecond = "${OPENSPACE_DATA}/spice/pck00010.tpc" + LeapSecond = "${OPENSPACE_DATA}/spice/pck00010.tpc", + NewHorizons = "${OPENSPACE_DATA}/spice/nhmeta.tm" }, SGCTConfig = "${SGCT}/single.xml", --SGCTConfig = "${SGCT}/two_nodes.xml", diff --git a/scripts/default_startup.lua b/scripts/default_startup.lua index 7bd6cadf67..2439d4e2c5 100644 --- a/scripts/default_startup.lua +++ b/scripts/default_startup.lua @@ -1,5 +1,6 @@ --openspace.setPropertyValue('Earth.renderable.colorTexture', '${OPENSPACE_DATA}/modules/mars/textures/mars.png') openspace.time.setTime("2005-11-01T00:00:00") +--openspace.time.setTime("2006-06-04T22:00:00") openspace.time.setDeltaTime(200000.0) --openspace.time.setDeltaTime(30000.0) print(openspace.time.currentTimeUTC()) diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 2f28ec2781..84cedf5a1a 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -237,7 +237,7 @@ bool OpenSpaceEngine::initialize() // initialize OpenSpace helpers SpiceManager::initialize(); Time::initialize(); - + using constants::configurationmanager::keySpiceTimeKernel; std::string timeKernel; bool success = OsEng.configurationManager().getValue(keySpiceTimeKernel, timeKernel); @@ -259,6 +259,45 @@ bool OpenSpaceEngine::initialize() } SpiceManager::ref().loadKernel(std::move(leapSecondKernel)); + //New Horizons - I need this working. It sort of does but clashes with the rest + /* + using constants::configurationmanager::keySpiceNewHorizons; + std::string newHorizonsKernel; + success = OsEng.configurationManager().getValue(keySpiceNewHorizons, newHorizonsKernel); + if (!success) { + LERROR("Configuration file does not contain a '" << keySpiceNewHorizons << "'"); + return false; + } + SpiceManager::ref().loadKernel(std::move(newHorizonsKernel)); + */ + // ^ whats missing!? set in constants, set in cfg file... wtf...doing it manually... + +//#define NEWHORIZONS +#ifdef NEWHORIZONS + // metakernel loading doesnt seem to work... it should. to tired to even + // CK + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/ck/merged_nhpc_2006_v011.bc"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/ck/merged_nhpc_2007_v006.bc"); + // FK + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/fk/nh_v200.tf"); + // IK + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/ik/nh_lorri_v100.ti"); + // LSK already loaded + //PCK + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/pck/pck00008.tpc"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/pck/new_horizons_413.tsc"); + //SLCK + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/sclk/new_horizons_413.tsc"); + //SPK + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/de413.bsp"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/jup260.bsp"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/nh_nep_ura_000.bsp"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/nh_plu017.bsp"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/nh_recon_e2j_v1.bsp"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/nh_recon_j2sep07_prelimv1.bsp"); + SpiceManager::ref().loadKernel("C:/Users/michal/Documents/openspace3/openspace-data/spice/spk/sb_2002jf56_2.bsp"); +#endif + FactoryManager::initialize(); scriptEngine().initialize(); diff --git a/src/rendering/renderablepath.cpp b/src/rendering/renderablepath.cpp index bcf1cc8d07..b897e0807b 100644 --- a/src/rendering/renderablepath.cpp +++ b/src/rendering/renderablepath.cpp @@ -31,211 +31,201 @@ #include #include -#include // std::move - +#include namespace { const std::string _loggerCat = "RenderablePath"; -} + //constants + const std::string keyBody = "Body"; + const std::string keyObserver = "Observer"; + const std::string keyFrame = "Frame"; + const std::string keyPathModule = "ModulePath"; + const std::string keyColor = "RGB"; + +} +#define DEBUG namespace openspace{ RenderablePath::RenderablePath(const ghoul::Dictionary& dictionary) - : Renderable(dictionary) - , _colorTexturePath("colorTexture", "Color Texture") - , _programObject(nullptr) - , _texture(nullptr) - , _vaoID(0) - , _vBufferID(0) - , _iBufferID(0) - , _mode(GL_LINE_STRIP){ + : Renderable(dictionary) + , _colorTexturePath("colorTexture", "Color Texture") + , _programObject(nullptr) + , _texture(nullptr) + , _vaoID(0) + , _vBufferID(0) + , _iBufferID(0) + , _mode(GL_LINE_STRIP){ + assert(dictionary.getValue(keyBody, _target)); + assert(dictionary.getValue(keyObserver, _observer)); + assert(dictionary.getValue(keyFrame, _frame)); + /*assert(dictionary.getValue(keyTropicalOrbitPeriod, _tropic)); + assert(dictionary.getValue(keyEarthOrbitRatio, _ratio)); + assert(dictionary.getValue(keyDayLength, _day));//not used now, will be though. + // values in modfiles set from here*/ + // http://nssdc.gsfc.nasa.gov/planetary/factsheet/marsfact.html - double lightTime = 0.0; - double planetYear = 31536000; - SpiceManager::ref().getETfromDate("2005 jan 09 00:00:00", _time); - // -------------------------------------- ^ this has to be simulation start-time, not passed in here though -- - - double et = _time - planetYear; - - int segments = 40; // note to self: code not look nice. cleanup for clarity later. - psc pscpos, pscvel; - - _isize = (segments+2); - _vsize = (segments+2); - //_varray = new float[_vsize]; - _iarray = new int[_isize]; - - _updated = new bool[_vsize]; - std::fill(_updated, _updated + _vsize, false); - - //static_assert(sizeof(Vertex) == 64, "The size of the Vertex needs to be 64 for performance"); - - _increment = planetYear / segments; - for (int i = 0; i < segments+1; i++){ - - SpiceManager::ref().getTargetState("EARTH", "SUN", "GALACTIC", "LT+S", et, pscpos, pscvel, lightTime); - - psc tmppos = glm::vec4(i, i, i, 7); - _varray.push_back(tmppos[0]); - _varray.push_back(tmppos[1]); - _varray.push_back(tmppos[2]); - _varray.push_back(tmppos[3]); - - //memcpy(_varray[i].location, glm::value_ptr(pscpos.vec4()), 4 * sizeof(double)); - glm::vec4 color = glm::vec4(1, (i % 2 == 0), 1, 1); - - _varray.push_back(color[0]); - _varray.push_back(color[1]); - _varray.push_back(color[2]); - _varray.push_back(color[3]); - - _intervals.push_back(std::pair(i, et)); - - _iarray[i] = i; // remove indx in this class at some point! - et += _increment; - } - _stride = 8; - _vsize = _varray.size(); - _vtotal = static_cast(_vsize / _stride); - /* - std::cout << "before : " << std::endl; - for (int i = 0; i < _vsize-1; i++){ - std::cout << _varray[i] << std::endl; - } - - - /// how to std::move() - int m = 8; - for (int i = _vsize-1; i+1-m != 0; i--){ - - std:: cout << i << " " << i-m << std::endl; - _varray[i] = std::move(_varray[i - m]); - } - /* - std::cout << "after : " << std::endl; - for (int i = 0; i < _vsize - 1; i++){ - std::cout << _varray[i] << std::endl; - } - */ + //white is default col + if (!dictionary.getValue(keyColor, _c)){ + _c = glm::vec3(0.0); + } + else{ + _r = 1 / _c[0]; + _g = 1 / _c[1]; + _b = 1 / _c[2]; + } } + void RenderablePath::fullYearSweep(){ + double lightTime = 0.0; + SpiceManager::ref().getETfromDate("2006 jul 04 22:00:00", _time); + // -------------------------------------- ^ this has to be simulation start-time, not passed in here though -- + double et2 = 0; + //SpiceManager::ref().getETfromDate("2008 apr 01 00:00:00", et2); + //psc nhpos, nhvel; + //SpiceManager::ref().getTargetState("NEW HORIZONS", "SUN", "J2000", "LT+S", et2, _pscpos, _pscvel, lightTime); -RenderablePath::~RenderablePath(){ - deinitialize(); -} + double et = _time; + int segments = 20000; + _increment = 6*3600; + + _isize = (segments + 2); + _vsize = (segments + 2); + _iarray = new int[_isize]; + + int indx = 0; + for (int i = 0; i < segments + 1; i++){ + SpiceManager::ref().getTargetState(_target, _observer, _frame, "LT+S", et, _pscpos, _pscvel, lightTime); + if (_pscpos[0] != 0 && _pscpos[1] != 0 && _pscpos[2] != 0 && _pscpos[3] != 1){ + /*std::cout << _target << " " << _observer << " " << _frame << + _pscpos[0] << " " << _pscpos[1] << " " << _pscpos[2] << " " << _pscpos[3] << std::endl; + */ + _varray.push_back(_pscpos[0]); + _varray.push_back(_pscpos[1]); + _varray.push_back(_pscpos[2]); + _varray.push_back(_pscpos[3]); + +#ifndef DEBUG + _varray.push_back(1.f - ((double)i / _tropic * _r)); + _varray.push_back(1.f - ((double)i / _tropic * _g)); + _varray.push_back(1.f - ((double)i / _tropic * _b)); + _varray.push_back(1.f - ((double)i / _tropic)); +#else + _varray.push_back(1.f); + _varray.push_back(1.f); + _varray.push_back(1.f); + _varray.push_back(1.f); +#endif + indx++; + _iarray[indx] = indx; + } + et += _increment; + } + _stride = 8; + _vsize = _varray.size(); + _vtotal = static_cast(_vsize / _stride); + } + + RenderablePath::~RenderablePath(){ + deinitialize(); + } bool RenderablePath::initialize(){ - bool completeSuccess = true; - if (_programObject == nullptr) - completeSuccess - &= OsEng.ref().configurationManager().getValue("EphemerisProgram", _programObject); + bool completeSuccess = true; + if (_programObject == nullptr) + completeSuccess + &= OsEng.ref().configurationManager().getValue("EphemerisProgram", _programObject); - loadTexture(); - completeSuccess &= (_texture != nullptr); - - // Initialize and upload to graphics card - glGenVertexArrays(1, &_vaoID); - glGenBuffers(1, &_vBufferID); - glGenBuffers(1, &_iBufferID); + //TEXTURES DISABLED FOR NOW + //loadTexture(); + completeSuccess &= (_texture != nullptr); - glBindVertexArray(_vaoID); - - glBindBuffer(GL_ARRAY_BUFFER, _vBufferID); - glBufferData(GL_ARRAY_BUFFER, _vsize * sizeof(GLfloat), NULL, GL_STREAM_DRAW); // orphaning the buffer, sending NULL data. - glBufferSubData(GL_ARRAY_BUFFER, 0, _vsize * sizeof(GLfloat), &_varray[0]); - - GLsizei st = sizeof(GLfloat) * _stride; + fullYearSweep(); + // Initialize and upload to graphics card + glGenVertexArrays(1, &_vaoID); + glGenBuffers(1, &_vBufferID); + glGenBuffers(1, &_iBufferID); - glEnableVertexAttribArray(0); - glEnableVertexAttribArray(1); - glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, st, (void*)0); - glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, st, (void*)(4 * sizeof(GLfloat))); + glBindVertexArray(_vaoID); + glBindBuffer(GL_ARRAY_BUFFER, _vBufferID); + glBufferData(GL_ARRAY_BUFFER, _vsize * sizeof(GLfloat), NULL, GL_STREAM_DRAW); // orphaning the buffer, sending NULL data. + glBufferSubData(GL_ARRAY_BUFFER, 0, _vsize * sizeof(GLfloat), &_varray[0]); + GLsizei st = sizeof(GLfloat) * _stride; - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _iBufferID); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, _isize * sizeof(int), _iarray, GL_STATIC_DRAW); + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, st, (void*)0); + glVertexAttribPointer(1, 4, GL_FLOAT, GL_FALSE, st, (void*)(4 * sizeof(GLfloat))); - glBindVertexArray(0); - - return completeSuccess; -} + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _iBufferID); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, _isize * sizeof(int), _iarray, GL_STATIC_DRAW); -bool RenderablePath::deinitialize(){ - delete _texture; - _texture = nullptr; - return true; -} + glBindVertexArray(0); -void RenderablePath::render(const RenderData& data){ - assert(_programObject); - _programObject->activate(); + return completeSuccess; + } - // fetch data - psc currentPosition = data.position; - psc campos = data.camera.position(); - glm::mat4 camrot = data.camera.viewRotationMatrix(); - // PowerScaledScalar scaling = camera->scaling(); - PowerScaledScalar scaling = glm::vec2(1, -6); + bool RenderablePath::deinitialize(){ + delete _texture; + _texture = nullptr; + return true; + } - glm::mat4 transform = glm::mat4(1); + void RenderablePath::render(const RenderData& data){ + assert(_programObject); + _programObject->activate(); - // setup the data to the shader - //_programObject->setUniform("objectVelocity", pscvel.vec4()); + // fetch data + psc currentPosition = data.position; + psc campos = data.camera.position(); + glm::mat4 camrot = data.camera.viewRotationMatrix(); + // PowerScaledScalar scaling = camera->scaling(); + PowerScaledScalar scaling = glm::vec2(1, -6); - _programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix()); - _programObject->setUniform("ModelTransform", transform); - _programObject->setUniform("campos", campos.vec4()); - _programObject->setUniform("objpos", currentPosition.vec4()); - _programObject->setUniform("camrot", camrot); - _programObject->setUniform("scaling", scaling.vec2()); - - if (_oldTime != _time){ - int m = 8; - for (int i = _vsize - 1; i + 1 - m != 0; i--){ - _varray[i] = std::move(_varray[i - m]); - } - memcpy(&_varray[0], glm::value_ptr(_pscpos.vec4()), 4 * sizeof(double)); - _varray[4] = 1; - _varray[5] = 1; - _varray[6] = 1; - _varray[7] = 1; - }_oldTime = _time; + glm::mat4 transform = glm::mat4(1); + // setup the data to the shader + //_programObject->setUniform("objectVelocity", pscvel.vec4()); + _programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix()); + _programObject->setUniform("ModelTransform", transform); + _programObject->setUniform("campos", campos.vec4()); + _programObject->setUniform("objpos", currentPosition.vec4()); + _programObject->setUniform("camrot", camrot); + _programObject->setUniform("scaling", scaling.vec2()); - glBindBuffer(GL_ARRAY_BUFFER, _vBufferID); - glBufferSubData(GL_ARRAY_BUFFER, 0, _vsize * sizeof(GLfloat), &_varray[0]); - + glBindVertexArray(_vaoID); + glDrawArrays(_mode, 0, _vtotal); + glBindVertexArray(0); + + glPointSize(2.f); - glBindVertexArray(_vaoID); - glDrawArrays(_mode, 0, _vtotal); - glBindVertexArray(0); + glBindVertexArray(_vaoID); + glDrawArrays(GL_POINTS, 0, _vtotal); + glBindVertexArray(0); + + _programObject->deactivate(); + } - glPointSize(2.f); + void RenderablePath::update(const UpdateData& data){ + double lightTime; + _time = data.time; + _delta = data.delta; + int newhorizons = 0; - glBindVertexArray(_vaoID); - glDrawArrays(GL_POINTS, 0, _vtotal); - glBindVertexArray(0); + SpiceManager::ref().getTargetState(_target, _observer, _frame, "LT+S", data.time, _pscpos, _pscvel, lightTime); + } - _programObject->deactivate(); -} - -void RenderablePath::update(const UpdateData& data){ - double lightTime; - _time = data.time; - - SpiceManager::ref().getTargetState("EARTH", "SUN", "GALACTIC", "LT+S", data.time, _pscpos, _pscvel, lightTime); -} - -void RenderablePath::loadTexture() -{ - delete _texture; - _texture = nullptr; - if (_colorTexturePath.value() != "") { - _texture = ghoul::opengl::loadTexture(absPath(_colorTexturePath)); - if (_texture) { - LDEBUG("Loaded texture from '" << absPath(_colorTexturePath) << "'"); - _texture->uploadTexture(); + void RenderablePath::loadTexture() + { + delete _texture; + _texture = nullptr; + if (_colorTexturePath.value() != "") { + _texture = ghoul::opengl::loadTexture(absPath(_colorTexturePath)); + if (_texture) { + LDEBUG("Loaded texture from '" << absPath(_colorTexturePath) << "'"); + _texture->uploadTexture(); + } } } -} } \ No newline at end of file diff --git a/src/rendering/renderabletrail.cpp b/src/rendering/renderabletrail.cpp index 23744fb4d6..36e8c11ef4 100644 --- a/src/rendering/renderabletrail.cpp +++ b/src/rendering/renderabletrail.cpp @@ -77,9 +77,9 @@ namespace openspace{ } void RenderableTrail::fullYearSweep(){ double lightTime = 0.0; - SpiceManager::ref().getETfromDate("2005 nov 01 00:00:00", _time); + SpiceManager::ref().getETfromDate("2005 nov 01 22:00:00", _time); // -------------------------------------- ^ this has to be simulation start-time, not passed in here though -- - + double et = _time; double planetYear = 31540000 * _ratio; int segments = _tropic; @@ -93,8 +93,6 @@ void RenderableTrail::fullYearSweep(){ for (int i = 0; i < segments + 1; i++){ SpiceManager::ref().getTargetState(_target, _observer, _frame, "LT+S", et, _pscpos, _pscvel, lightTime); -//std::cout << planetYear << " " << segments << " " << _increment << std::endl; - //psc tmppos = glm::vec4(i, i, i, 7); _varray.push_back(_pscpos[0]); _varray.push_back(_pscpos[1]); @@ -191,7 +189,7 @@ void RenderableTrail::render(const RenderData& data){ if (_oldTime != _time){ // only update when time actually progresses _dtprogress += _delta*sgct::Engine::instance()->getDt(); // compute how far time has progressed - if (_dtprogress > 86400){ + if (_dtprogress > _increment){ //reset progress counter _dtprogress = 0; @@ -232,6 +230,8 @@ void RenderableTrail::update(const UpdateData& data){ double lightTime; _time = data.time; _delta = data.delta; + int newhorizons =0; + SpiceManager::ref().getTargetState(_target, _observer, _frame, "LT+S", data.time, _pscpos, _pscvel, lightTime); } diff --git a/src/util/factorymanager.cpp b/src/util/factorymanager.cpp index d93b168afc..04ce92c81c 100644 --- a/src/util/factorymanager.cpp +++ b/src/util/factorymanager.cpp @@ -31,6 +31,9 @@ #include #include #include +#include + + #include #include #include @@ -66,6 +69,8 @@ void FactoryManager::initialize() _manager->factory()->registerClass( "RenderableEphemeris"); //will replace ephemeris class soon... + _manager->factory()->registerClass( + "RenderablePath"); _manager->factory()->registerClass( "RenderableTrail"); _manager->factory()->registerClass( diff --git a/src/util/powerscaledcoordinate.cpp b/src/util/powerscaledcoordinate.cpp index 26c597ea96..a57dbbc71e 100644 --- a/src/util/powerscaledcoordinate.cpp +++ b/src/util/powerscaledcoordinate.cpp @@ -71,7 +71,7 @@ PowerScaledCoordinate::PowerScaledCoordinate(const PowerScaledCoordinate& rhs) { PowerScaledCoordinate PowerScaledCoordinate::CreatePowerScaledCoordinate(double d1, double d2, double d3) { - char buff[60]; + char buff[600]; // find the number with maximum number of digits double ad1 = abs(d1); diff --git a/src/util/spicemanager.cpp b/src/util/spicemanager.cpp index b10c18252b..6908bef610 100644 --- a/src/util/spicemanager.cpp +++ b/src/util/spicemanager.cpp @@ -89,7 +89,7 @@ int SpiceManager::loadKernel(std::string filePath) { furnsh_c(filePath.c_str()); FileSys.setCurrentDirectory(currentDirectory); - + std::cout << filePath.c_str() << std::endl; int failed = failed_c(); if (failed) { char msg[1024];