![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <RotationInteractorLogic.h>


Public Member Functions | |
| RotationInteractorLogic (Camera *camera, double min_far_plane) | |
| ~RotationInteractorLogic () | |
| virtual void | SetCenterOfRotation (const Eigen::Vector3f ¢er) |
| virtual void | Pan (int dx, int dy) |
| virtual void | StartMouseDrag () |
| virtual void | UpdateMouseDragUI () |
| virtual void | EndMouseDrag () |
Public Member Functions inherited from cloudViewer::visualization::rendering::MatrixInteractorLogic | |
| virtual | ~MatrixInteractorLogic () |
| void | SetViewSize (int width, int height) |
| int | GetViewWidth () const |
| int | GetViewHeight () const |
| const ccBBox & | GetBoundingBox () const |
| virtual void | SetBoundingBox (const ccBBox &bounds) |
| Eigen::Vector3f | GetCenterOfRotation () const |
| void | SetMouseDownInfo (const Camera::Transform &matrix, const Eigen::Vector3f ¢er_of_rotation) |
| const Camera::Transform & | GetMatrix () const |
| virtual void | Rotate (int dx, int dy) |
| virtual void | RotateWorld (int dx, int dy, const Eigen::Vector3f &x_axis, const Eigen::Vector3f &y_axis) |
| virtual void | RotateZ (int dx, int dy) |
| Rotates about the forward axis of the matrix. More... | |
| virtual void | RotateZWorld (int dx, int dy, const Eigen::Vector3f &forward) |
| virtual void | Dolly (float dy, DragType drag_type) |
| virtual void | Dolly (float z_dist, Camera::Transform matrix) |
Protected Member Functions | |
| Eigen::Vector3f | CalcPanVectorWorld (int dx, int dy) |
| void | UpdateCameraFarPlane () |
Protected Member Functions inherited from cloudViewer::visualization::rendering::MatrixInteractorLogic | |
| void | SetMatrix (const Camera::Transform &matrix) |
| float | CalcRotateRadians (int dx, int dy) |
| float | CalcRotateZRadians (int dx, int dy) |
| float | CalcDollyDist (float dy, DragType drag_type, const Camera::Transform &matrix) |
Protected Attributes | |
| double | min_far_plane_ |
| Camera * | camera_ |
Protected Attributes inherited from cloudViewer::visualization::rendering::MatrixInteractorLogic | |
| int | view_width_ = 1 |
| int | view_height_ = 1 |
| double | model_size_ = 20.0 |
| ccBBox | model_bounds_ |
| Eigen::Vector3f | center_of_rotation_ |
| Camera::Transform | matrix_at_mouse_down_ |
| Eigen::Vector3f | center_of_rotation_at_mouse_down_ |
Additional Inherited Members | |
Public Types inherited from cloudViewer::visualization::rendering::MatrixInteractorLogic | |
| enum class | DragType { MOUSE , WHEEL , TWO_FINGER } |
Definition at line 16 of file RotationInteractorLogic.h.
|
explicit |
Definition at line 14 of file RotationInteractorLogic.cpp.
| cloudViewer::visualization::rendering::RotationInteractorLogic::~RotationInteractorLogic | ( | ) |
Definition at line 18 of file RotationInteractorLogic.cpp.
|
protected |
Definition at line 40 of file RotationInteractorLogic.cpp.
References camera_, cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_at_mouse_down_, dist(), cloudViewer::visualization::rendering::Camera::GetFieldOfView(), cloudViewer::visualization::rendering::Camera::GetForwardVector(), cloudViewer::visualization::rendering::Camera::GetModelMatrix(), cloudViewer::visualization::rendering::Camera::GetNear(), cloudViewer::visualization::rendering::Camera::GetPosition(), M_PI, max(), and cloudViewer::visualization::rendering::MatrixInteractorLogic::view_height_.
Referenced by Pan(), and cloudViewer::visualization::rendering::ModelInteractorLogic::Pan().
|
virtual |
Reimplemented in cloudViewer::visualization::rendering::ModelInteractorLogic, and cloudViewer::visualization::rendering::CameraInteractorLogic.
Definition at line 75 of file RotationInteractorLogic.cpp.
Referenced by cloudViewer::visualization::gui::RotationInteractor::Mouse().
|
virtual |
Reimplemented in cloudViewer::visualization::rendering::ModelInteractorLogic, and cloudViewer::visualization::rendering::CameraInteractorLogic.
Definition at line 25 of file RotationInteractorLogic.cpp.
References CalcPanVectorWorld(), cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_, cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_at_mouse_down_, cloudViewer::visualization::rendering::MatrixInteractorLogic::matrix_at_mouse_down_, and cloudViewer::visualization::rendering::MatrixInteractorLogic::SetMatrix().
Referenced by cloudViewer::visualization::gui::RotationInteractor::Mouse(), and cloudViewer::visualization::rendering::CameraInteractorLogic::Pan().
|
virtual |
Definition at line 20 of file RotationInteractorLogic.cpp.
References cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_.
Referenced by cloudViewer::visualization::gui::RotationInteractor::SetCenterOfRotation().
|
virtual |
Reimplemented in cloudViewer::visualization::rendering::ModelInteractorLogic, cloudViewer::visualization::rendering::CameraSphereInteractorLogic, and cloudViewer::visualization::rendering::CameraInteractorLogic.
Definition at line 69 of file RotationInteractorLogic.cpp.
References cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_, cloudViewer::visualization::rendering::MatrixInteractorLogic::GetMatrix(), and cloudViewer::visualization::rendering::MatrixInteractorLogic::SetMouseDownInfo().
Referenced by cloudViewer::visualization::gui::RotationInteractor::Mouse().
|
protected |
Definition at line 77 of file RotationInteractorLogic.cpp.
References cloudViewer::visualization::rendering::Camera::CalcFarPlane(), camera_, cloudViewer::visualization::rendering::Camera::GetProjection(), cloudViewer::visualization::rendering::Camera::ProjectionInfo::intrinsics, cloudViewer::visualization::rendering::MatrixInteractorLogic::model_bounds_, cloudViewer::visualization::rendering::Camera::ProjectionInfo::proj, and cloudViewer::visualization::rendering::Camera::SetProjection().
Referenced by cloudViewer::visualization::rendering::ModelInteractorLogic::Dolly(), cloudViewer::visualization::rendering::CameraInteractorLogic::Dolly(), and cloudViewer::visualization::rendering::ModelInteractorLogic::StartMouseDrag().
|
virtual |
Reimplemented in cloudViewer::visualization::rendering::ModelInteractorLogic, and cloudViewer::visualization::rendering::CameraInteractorLogic.
Definition at line 73 of file RotationInteractorLogic.cpp.
Referenced by cloudViewer::visualization::gui::RotationInteractor::Mouse().
|
protected |
Definition at line 35 of file RotationInteractorLogic.h.
Referenced by CalcPanVectorWorld(), cloudViewer::visualization::rendering::ModelInteractorLogic::Dolly(), cloudViewer::visualization::rendering::CameraInteractorLogic::Dolly(), cloudViewer::visualization::rendering::CameraInteractorLogic::MoveLocal(), cloudViewer::visualization::rendering::CameraInteractorLogic::Pan(), cloudViewer::visualization::rendering::CameraInteractorLogic::Rotate(), cloudViewer::visualization::rendering::CameraSphereInteractorLogic::Rotate(), cloudViewer::visualization::rendering::ModelInteractorLogic::Rotate(), cloudViewer::visualization::rendering::CameraInteractorLogic::RotateFly(), cloudViewer::visualization::rendering::CameraInteractorLogic::RotateLocal(), cloudViewer::visualization::rendering::CameraInteractorLogic::RotateZ(), cloudViewer::visualization::rendering::ModelInteractorLogic::RotateZ(), cloudViewer::visualization::rendering::CameraInteractorLogic::SetBoundingBox(), cloudViewer::visualization::rendering::CameraInteractorLogic::StartMouseDrag(), cloudViewer::visualization::rendering::CameraSphereInteractorLogic::StartMouseDrag(), UpdateCameraFarPlane(), and cloudViewer::visualization::rendering::CameraInteractorLogic::Zoom().
|
protected |
Definition at line 34 of file RotationInteractorLogic.h.