9 #include "imstkMouseControl.h" 13 class MouseDeviceClient;
40 void setZoomSpeed(
const double zoomSpeed) { m_zoomSpeed = zoomSpeed; }
45 void setRotateSpeed(
const double rotateSpeed) { m_rotateSpeed = rotateSpeed; }
50 void setPanSpeed(
const double panSpeed) { m_panSpeed = panSpeed; }
56 void setSceneManager(std::shared_ptr<SceneManager> manager) { m_sceneManager = manager; }
74 void OnButtonRelease(
const int key)
override;
75 void OnScroll(
const double dx)
override;
76 void OnMouseMove(
const Vec2d& pos)
override;
79 std::shared_ptr<SceneManager> m_sceneManager;
80 Mode m_mode = Mode::None;
85 double m_zoomSpeed = 1.0;
86 double m_rotateSpeed = 1.0;
87 double m_panSpeed = 1.0;
90 double m_zoomFactor = 1.0;
91 double m_rotateFactor = 5.0;
92 double m_panFactor = 1.0;
94 bool m_enabled =
false;
This is the base class for mouse based controls It can be constructed and observed or subclassed and ...
void OnButtonPress(const int key) override
On the mouse scene control button press.
void setEnabled(bool enable)
Enable the mouse control, independent of the debug mode.
void setZoomSpeed(const double zoomSpeed)
Set the scroll controlled zoom speed.
void setSceneManager(std::shared_ptr< SceneManager > manager)
Set the scene manager to be controlled The active scene's camera will be controllable depending on Sc...
void printControls() override
Prints the controls.
void setPanSpeed(const double panSpeed)
Set the pan speed.
Controls the camera using trackball controls Left click rotate, middle click pan. ...
void setRotateSpeed(const double rotateSpeed)
Set the mouse controlled rotate speed.