mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
ENABLE_3DCONNEXION_DEVICES - Added imgui dialog to edit 3Dconnexion device parameters
This commit is contained in:
parent
644cc8c6b4
commit
36d3f90fad
5 changed files with 125 additions and 9 deletions
|
@ -19,9 +19,11 @@ class Mouse3DController
|
|||
{
|
||||
class State
|
||||
{
|
||||
public:
|
||||
static const double DefaultTranslationScale;
|
||||
static const float DefaultRotationScale;
|
||||
|
||||
private:
|
||||
mutable std::mutex m_mutex;
|
||||
|
||||
Vec3d m_translation;
|
||||
|
@ -37,6 +39,11 @@ class Mouse3DController
|
|||
void set_translation(const Vec3d& translation);
|
||||
void set_rotation(const Vec3f& rotation);
|
||||
void set_button(unsigned int id);
|
||||
void reset_buttons();
|
||||
|
||||
const Vec3d& get_translation() const;
|
||||
const Vec3f& get_rotation() const;
|
||||
const std::vector<unsigned int>& get_buttons() const;
|
||||
|
||||
bool has_translation() const;
|
||||
bool has_rotation() const;
|
||||
|
@ -54,12 +61,13 @@ class Mouse3DController
|
|||
};
|
||||
|
||||
bool m_initialized;
|
||||
State m_state;
|
||||
mutable State m_state;
|
||||
std::thread m_thread;
|
||||
GLCanvas3D* m_canvas;
|
||||
std::mutex m_mutex;
|
||||
mutable std::mutex m_mutex;
|
||||
hid_device* m_device;
|
||||
bool m_running;
|
||||
bool m_settings_dialog;
|
||||
|
||||
public:
|
||||
Mouse3DController();
|
||||
|
@ -87,6 +95,10 @@ public:
|
|||
return (m_canvas != nullptr) ? m_state.apply(*m_canvas) : false;
|
||||
}
|
||||
|
||||
bool is_settings_dialog_shown() const { return m_settings_dialog; }
|
||||
void show_settings_dialog(bool show) { m_settings_dialog = show; }
|
||||
void render_settings_dialog() const;
|
||||
|
||||
private:
|
||||
void connect_device();
|
||||
void disconnect_device();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue