diff --git a/include/openspace/rendering/screenspacerenderable.h b/include/openspace/rendering/screenspacerenderable.h index e9d6c5fb48..3bd089318d 100644 --- a/include/openspace/rendering/screenspacerenderable.h +++ b/include/openspace/rendering/screenspacerenderable.h @@ -44,15 +44,9 @@ public: virtual void update() = 0; virtual bool isReady() const = 0; bool isEnabled() const; - void x(float d){ + void move(glm::vec3 v){ glm::vec3 pos = _position.value(); - pos.x += d; - _position.set(pos); - - }; - void y(float d){ - glm::vec3 pos = _position.value(); - pos.y += d; + pos += v; _position.set(pos); }; diff --git a/src/interaction/mousecontroller.cpp b/src/interaction/mousecontroller.cpp index ef26f6e6a0..aba1ba0b85 100644 --- a/src/interaction/mousecontroller.cpp +++ b/src/interaction/mousecontroller.cpp @@ -230,18 +230,25 @@ void OrbitalMouseController::update(const double& dt){ static_cast(_middleMouseButtonDown) * static_cast(dt) * _currentCursorDiff[MouseButtons::ButtonMiddle].x * interactionSpeed * (rollInvert ? -1.f : 1.f), static_cast(_rightMouseButtonDown) * static_cast(dt) * _currentCursorDiff[MouseButtons::ButtonRight].y * _navigationSpeed); //} - if(_middleMouseButtonDown ){ - if(_leftMouseButtonDown ){ - OsEng.renderEngine().ssr->x(-static_cast(dt)); - } else if(_rightMouseButtonDown){ - OsEng.renderEngine().ssr->x(static_cast(dt)); + glm::vec3 v(0.0); + if(!_middleMouseButtonDown ){ + if(_leftMouseButtonDown && !_rightMouseButtonDown ){ + v.x = static_cast(dt); + } else if(!_leftMouseButtonDown && _rightMouseButtonDown ){ + v.y = static_cast(dt); + }else if(_leftMouseButtonDown && _rightMouseButtonDown ){ + v.z = static_cast(dt); } + OsEng.renderEngine().ssr->move(v); } else { - if(_leftMouseButtonDown ){ - OsEng.renderEngine().ssr->y(-static_cast(dt)); - } else if(_rightMouseButtonDown){ - OsEng.renderEngine().ssr->y(static_cast(dt)); + if(_leftMouseButtonDown && !_rightMouseButtonDown ){ + v.x = -static_cast(dt); + } else if(!_leftMouseButtonDown && _rightMouseButtonDown ){ + v.y = -static_cast(dt); + }else if(_leftMouseButtonDown && _rightMouseButtonDown ){ + v.z = -static_cast(dt); } + OsEng.renderEngine().ssr->move(v); } // if (_leftMouseButtonDown){ // _handler->orbit(static_cast(dt)* _currentCursorDiff[MouseButtons::ButtonLeft].x * _rotationSpeed, static_cast(dt)* _currentCursorDiff[MouseButtons::ButtonLeft].y * _rotationSpeed, 0.f); diff --git a/src/rendering/screenspacerenderable.cpp b/src/rendering/screenspacerenderable.cpp index c749c0447c..e9c1544c1d 100644 --- a/src/rendering/screenspacerenderable.cpp +++ b/src/rendering/screenspacerenderable.cpp @@ -27,7 +27,7 @@ namespace openspace { ScreenSpaceRenderable::ScreenSpaceRenderable(std::string texturePath) : _enabled("enabled", "Is Enabled", true) - , _flatScreen("flatScreen", "Flat Screen", true) + , _flatScreen("flatScreen", "Flat Screen", false) , _position("position", "Position", glm::vec3(0,0,-2),glm::vec3(-2,-2, -1),glm::vec3(2, 2, 0)) , _scale("scale", "Scale" , 0.5, 0, 1) , _texturePath("texturePath", "Texture path", texturePath)