39#ifndef EASY3D_RENDERER_MANIPULATED_FRAME_H
40#define EASY3D_RENDERER_MANIPULATED_FRAME_H
42#include <easy3d/renderer/frame.h>
86 rotationSensitivity_ = sensitivity;
93 translationSensitivity_ = sensitivity;
100 wheelSensitivity_ = sensitivity;
201 quat deformedBallQuaternion(
int x,
int y,
int pre_x,
int pre_y,
float cx,
float cy,
int w,
int h)
const;
206 float wheelDelta(
int wheel_dy)
const;
210 float rotationSensitivity_;
211 float translationSensitivity_;
212 float wheelSensitivity_;
213 float zoomSensitivity_;
A perspective or orthographic camera.
Definition camera.h:113
An interface class for Frame constraints.
Definition constraint.h:140
Frame()
Default constructor.
float zoomSensitivity() const
Returns the zoom sensitivity.
Definition manipulated_frame.h:138
ManipulatedFrame()
Default constructor.
void setRotationSensitivity(float sensitivity)
Sets the rotation sensitivity.
Definition manipulated_frame.h:85
float wheelSensitivity() const
Returns the wheel sensitivity.
Definition manipulated_frame.h:146
virtual void action_translate(int mouse_x, int mouse_y, int mouse_dx, int mouse_dy, Camera *camera, ScreenAxis axis)
Translates the frame based on mouse movement.
ScreenAxis
ScreenAxis constrains rotation or translation around/along the axis.
Definition manipulated_frame.h:164
@ VERTICAL
Vertical constraint.
Definition manipulated_frame.h:167
@ HORIZONTAL
Horizontal constraint.
Definition manipulated_frame.h:166
@ ORTHOGONAL
Orthogonal constraint.
Definition manipulated_frame.h:168
@ NONE
No constraint.
Definition manipulated_frame.h:165
void setZoomSensitivity(float sensitivity)
Sets the zoom sensitivity.
Definition manipulated_frame.h:106
ManipulatedFrame(const ManipulatedFrame &mf)
Copy constructor.
float translationSensitivity() const
Returns the translation sensitivity.
Definition manipulated_frame.h:130
void setTranslationSensitivity(float sensitivity)
Sets the translation sensitivity.
Definition manipulated_frame.h:92
virtual void action_start()
Initiates the ManipulatedFrame mouse manipulation.
ManipulatedFrame & operator=(const ManipulatedFrame &mf)
Copy assignment operator.
virtual void action_rotate(int mouse_x, int mouse_y, int mouse_dx, int mouse_dy, Camera *camera, ScreenAxis axis)
Rotates the frame based on mouse movement.
float rotationSensitivity() const
Returns the rotation sensitivity.
Definition manipulated_frame.h:118
virtual void action_end()
Stops the ManipulatedFrame mouse manipulation.
~ManipulatedFrame() override=default
void setWheelSensitivity(float sensitivity)
Sets the wheel sensitivity.
Definition manipulated_frame.h:99
virtual void action_zoom(int dy_wheel, Camera *camera)
Zooms the frame based on mouse wheel movement.
Definition collider.cpp:182
Quat< float > quat
A quaternion of float type.
Definition types.h:85