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


Public Member Functions | |
| ModelInteractorLogic (CloudViewerScene *scene, Camera *camera, double min_far_plane) | |
| virtual | ~ModelInteractorLogic () |
| void | SetBoundingBox (const ccBBox &bounds) override |
| void | SetModel (GeometryHandle axes, const std::vector< GeometryHandle > &objects) |
| void | Rotate (int dx, int dy) override |
| void | RotateZ (int dx, int dy) override |
| Rotates about the forward axis of the matrix. More... | |
| void | Dolly (float dy, DragType drag_type) override |
| void | Pan (int dx, int dy) override |
| void | StartMouseDrag () override |
| void | UpdateMouseDragUI () override |
| void | EndMouseDrag () override |
Public Member Functions inherited from cloudViewer::visualization::rendering::RotationInteractorLogic | |
| RotationInteractorLogic (Camera *camera, double min_far_plane) | |
| ~RotationInteractorLogic () | |
| virtual void | SetCenterOfRotation (const Eigen::Vector3f ¢er) |
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 |
| Eigen::Vector3f | GetCenterOfRotation () const |
| void | SetMouseDownInfo (const Camera::Transform &matrix, const Eigen::Vector3f ¢er_of_rotation) |
| const Camera::Transform & | GetMatrix () const |
| virtual void | RotateWorld (int dx, int dy, const Eigen::Vector3f &x_axis, const Eigen::Vector3f &y_axis) |
| virtual void | RotateZWorld (int dx, int dy, const Eigen::Vector3f &forward) |
| virtual void | Dolly (float z_dist, Camera::Transform matrix) |
Definition at line 21 of file ModelInteractorLogic.h.
| cloudViewer::visualization::rendering::ModelInteractorLogic::ModelInteractorLogic | ( | CloudViewerScene * | scene, |
| Camera * | camera, | ||
| double | min_far_plane | ||
| ) |
Definition at line 19 of file ModelInteractorLogic.cpp.
|
virtual |
Definition at line 24 of file ModelInteractorLogic.cpp.
|
overridevirtual |
Moves the matrix along the forward axis. (This is one type of zoom.)
Reimplemented from cloudViewer::visualization::rendering::MatrixInteractorLogic.
Definition at line 77 of file ModelInteractorLogic.cpp.
References cloudViewer::visualization::rendering::MatrixInteractorLogic::CalcDollyDist(), cloudViewer::visualization::rendering::RotationInteractorLogic::camera_, cloudViewer::visualization::rendering::Camera::GetForwardVector(), cloudViewer::visualization::rendering::Scene::GetGeometryTransform(), cloudViewer::visualization::rendering::CloudViewerScene::GetScene(), cloudViewer::visualization::rendering::MatrixInteractorLogic::matrix_at_mouse_down_, cloudViewer::visualization::rendering::MatrixInteractorLogic::MOUSE, cloudViewer::visualization::rendering::Scene::SetGeometryTransform(), and cloudViewer::visualization::rendering::RotationInteractorLogic::UpdateCameraFarPlane().
|
overridevirtual |
Reimplemented from cloudViewer::visualization::rendering::RotationInteractorLogic.
Definition at line 152 of file ModelInteractorLogic.cpp.
References cloudViewer::visualization::rendering::CloudViewerScene::GetScene(), cloudViewer::visualization::rendering::kAxisObjectName(), and cloudViewer::visualization::rendering::Scene::ShowGeometry().
|
overridevirtual |
Reimplemented from cloudViewer::visualization::rendering::RotationInteractorLogic.
Definition at line 101 of file ModelInteractorLogic.cpp.
References cloudViewer::visualization::rendering::RotationInteractorLogic::CalcPanVectorWorld(), cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_, cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_at_mouse_down_, cloudViewer::visualization::rendering::CloudViewerScene::GetScene(), and cloudViewer::visualization::rendering::Scene::SetGeometryTransform().
|
overridevirtual |
Rotates about an axis defined by dx * matrixLeft, dy * matrixUp. dy is assumed to be in window-style coordinates, that is, going up produces a negative dy. The axis goes through the center of rotation.
Reimplemented from cloudViewer::visualization::rendering::MatrixInteractorLogic.
Definition at line 37 of file ModelInteractorLogic.cpp.
References cloudViewer::visualization::rendering::MatrixInteractorLogic::CalcRotateRadians(), cloudViewer::visualization::rendering::RotationInteractorLogic::camera_, cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_, cloudViewer::visualization::rendering::Camera::GetLeftVector(), cloudViewer::visualization::rendering::CloudViewerScene::GetScene(), cloudViewer::visualization::rendering::Camera::GetUpVector(), and cloudViewer::visualization::rendering::Scene::SetGeometryTransform().
|
overridevirtual |
Rotates about the forward axis of the matrix.
Reimplemented from cloudViewer::visualization::rendering::MatrixInteractorLogic.
Definition at line 61 of file ModelInteractorLogic.cpp.
References cloudViewer::visualization::rendering::MatrixInteractorLogic::CalcRotateZRadians(), cloudViewer::visualization::rendering::RotationInteractorLogic::camera_, cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_, cloudViewer::visualization::rendering::Camera::GetForwardVector(), cloudViewer::visualization::rendering::CloudViewerScene::GetScene(), and cloudViewer::visualization::rendering::Scene::SetGeometryTransform().
|
overridevirtual |
Reimplemented from cloudViewer::visualization::rendering::MatrixInteractorLogic.
Definition at line 26 of file ModelInteractorLogic.cpp.
References ccBBox::GetCenter(), cloudViewer::visualization::rendering::MatrixInteractorLogic::SetBoundingBox(), and cloudViewer::visualization::rendering::MatrixInteractorLogic::SetMouseDownInfo().
| void cloudViewer::visualization::rendering::ModelInteractorLogic::SetModel | ( | GeometryHandle | axes, |
| const std::vector< GeometryHandle > & | objects | ||
| ) |
Definition at line 34 of file ModelInteractorLogic.cpp.
|
overridevirtual |
Reimplemented from cloudViewer::visualization::rendering::RotationInteractorLogic.
Definition at line 130 of file ModelInteractorLogic.cpp.
References cloudViewer::visualization::rendering::MatrixInteractorLogic::center_of_rotation_, cloudViewer::visualization::rendering::Scene::GeometryIsVisible(), cloudViewer::visualization::rendering::CloudViewerScene::GetGeometries(), cloudViewer::visualization::rendering::CloudViewerScene::GetScene(), cloudViewer::visualization::rendering::kAxisObjectName(), cloudViewer::visualization::rendering::MatrixInteractorLogic::SetMouseDownInfo(), cloudViewer::visualization::rendering::Scene::ShowGeometry(), and cloudViewer::visualization::rendering::RotationInteractorLogic::UpdateCameraFarPlane().
|
overridevirtual |
Reimplemented from cloudViewer::visualization::rendering::RotationInteractorLogic.
Definition at line 150 of file ModelInteractorLogic.cpp.