Better test mouse controls for screenspaceimages

This commit is contained in:
Sebastian Piwell
2016-03-15 09:21:17 -04:00
parent 09f00fe81a
commit 2a110768c8
3 changed files with 19 additions and 18 deletions

View File

@@ -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);
};

View File

@@ -230,18 +230,25 @@ void OrbitalMouseController::update(const double& dt){
static_cast<float>(_middleMouseButtonDown) * static_cast<float>(dt) * _currentCursorDiff[MouseButtons::ButtonMiddle].x * interactionSpeed * (rollInvert ? -1.f : 1.f),
static_cast<float>(_rightMouseButtonDown) * static_cast<float>(dt) * _currentCursorDiff[MouseButtons::ButtonRight].y * _navigationSpeed);
//}
if(_middleMouseButtonDown ){
if(_leftMouseButtonDown ){
OsEng.renderEngine().ssr->x(-static_cast<float>(dt));
} else if(_rightMouseButtonDown){
OsEng.renderEngine().ssr->x(static_cast<float>(dt));
glm::vec3 v(0.0);
if(!_middleMouseButtonDown ){
if(_leftMouseButtonDown && !_rightMouseButtonDown ){
v.x = static_cast<float>(dt);
} else if(!_leftMouseButtonDown && _rightMouseButtonDown ){
v.y = static_cast<float>(dt);
}else if(_leftMouseButtonDown && _rightMouseButtonDown ){
v.z = static_cast<float>(dt);
}
OsEng.renderEngine().ssr->move(v);
} else {
if(_leftMouseButtonDown ){
OsEng.renderEngine().ssr->y(-static_cast<float>(dt));
} else if(_rightMouseButtonDown){
OsEng.renderEngine().ssr->y(static_cast<float>(dt));
if(_leftMouseButtonDown && !_rightMouseButtonDown ){
v.x = -static_cast<float>(dt);
} else if(!_leftMouseButtonDown && _rightMouseButtonDown ){
v.y = -static_cast<float>(dt);
}else if(_leftMouseButtonDown && _rightMouseButtonDown ){
v.z = -static_cast<float>(dt);
}
OsEng.renderEngine().ssr->move(v);
}
// if (_leftMouseButtonDown){
// _handler->orbit(static_cast<float>(dt)* _currentCursorDiff[MouseButtons::ButtonLeft].x * _rotationSpeed, static_cast<float>(dt)* _currentCursorDiff[MouseButtons::ButtonLeft].y * _rotationSpeed, 0.f);

View File

@@ -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)