mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-05 11:09:37 -06:00
Better test mouse controls for screenspaceimages
This commit is contained in:
@@ -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);
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user