diff options
author | Enrico Turri <enricoturri@seznam.cz> | 2019-10-08 15:32:05 +0300 |
---|---|---|
committer | Enrico Turri <enricoturri@seznam.cz> | 2019-10-08 15:32:05 +0300 |
commit | 4ec6199ef103ff391d81c0a5c5278719eee4ac40 (patch) | |
tree | 8ac60f0f134b91215b7a10fda9cb191b9c212b3d /src/slic3r/GUI/AppConfig.cpp | |
parent | b7db5a95587fa60a10d06172e6a5ea6e4cdc9a43 (diff) |
ENABLE_3DCONNEXION_DEVICES -> Added translation and rotation customizable parameter deadzone
Diffstat (limited to 'src/slic3r/GUI/AppConfig.cpp')
-rw-r--r-- | src/slic3r/GUI/AppConfig.cpp | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/src/slic3r/GUI/AppConfig.cpp b/src/slic3r/GUI/AppConfig.cpp index 6d0c83393..c29fe1c3b 100644 --- a/src/slic3r/GUI/AppConfig.cpp +++ b/src/slic3r/GUI/AppConfig.cpp @@ -272,7 +272,7 @@ void AppConfig::set_recent_projects(const std::vector<std::string>& recent_proje } #if ENABLE_3DCONNEXION_DEVICES -void AppConfig::set_mouse_device(const std::string& name, double translation_speed, float rotation_speed) +void AppConfig::set_mouse_device(const std::string& name, double translation_speed, double translation_deadzone, float rotation_speed, float rotation_deadzone) { std::string key = std::string("mouse_device:") + name; auto it = m_storage.find(key); @@ -281,10 +281,12 @@ void AppConfig::set_mouse_device(const std::string& name, double translation_spe it->second.clear(); it->second["translation_speed"] = std::to_string(translation_speed); + it->second["translation_deadzone"] = std::to_string(translation_deadzone); it->second["rotation_speed"] = std::to_string(rotation_speed); + it->second["rotation_deadzone"] = std::to_string(rotation_deadzone); } -bool AppConfig::get_mouse_device_translation_speed(const std::string& name, double& translation_speed) +bool AppConfig::get_mouse_device_translation_speed(const std::string& name, double& speed) { std::string key = std::string("mouse_device:") + name; auto it = m_storage.find(key); @@ -295,11 +297,26 @@ bool AppConfig::get_mouse_device_translation_speed(const std::string& name, doub if (it_val == it->second.end()) return false; - translation_speed = ::atof(it_val->second.c_str()); + speed = ::atof(it_val->second.c_str()); return true; } -bool AppConfig::get_mouse_device_rotation_speed(const std::string& name, float& rotation_speed) +bool AppConfig::get_mouse_device_translation_deadzone(const std::string& name, double& deadzone) +{ + std::string key = std::string("mouse_device:") + name; + auto it = m_storage.find(key); + if (it == m_storage.end()) + return false; + + auto it_val = it->second.find("translation_deadzone"); + if (it_val == it->second.end()) + return false; + + deadzone = ::atof(it_val->second.c_str()); + return true; +} + +bool AppConfig::get_mouse_device_rotation_speed(const std::string& name, float& speed) { std::string key = std::string("mouse_device:") + name; auto it = m_storage.find(key); @@ -310,7 +327,22 @@ bool AppConfig::get_mouse_device_rotation_speed(const std::string& name, float& if (it_val == it->second.end()) return false; - rotation_speed = (float)::atof(it_val->second.c_str()); + speed = (float)::atof(it_val->second.c_str()); + return true; +} + +bool AppConfig::get_mouse_device_rotation_deadzone(const std::string& name, float& deadzone) +{ + std::string key = std::string("mouse_device:") + name; + auto it = m_storage.find(key); + if (it == m_storage.end()) + return false; + + auto it_val = it->second.find("rotation_deadzone"); + if (it_val == it->second.end()) + return false; + + deadzone = (float)::atof(it_val->second.c_str()); return true; } #endif // ENABLE_3DCONNEXION_DEVICES |