Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2019-10-08 15:32:05 +0300
committerEnrico Turri <enricoturri@seznam.cz>2019-10-08 15:32:05 +0300
commit4ec6199ef103ff391d81c0a5c5278719eee4ac40 (patch)
tree8ac60f0f134b91215b7a10fda9cb191b9c212b3d /src/slic3r/GUI/AppConfig.cpp
parentb7db5a95587fa60a10d06172e6a5ea6e4cdc9a43 (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.cpp42
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