ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::visualization::rendering::CameraInteractorLogic Class Reference

#include <CameraInteractorLogic.h>

Inheritance diagram for cloudViewer::visualization::rendering::CameraInteractorLogic:
Collaboration diagram for cloudViewer::visualization::rendering::CameraInteractorLogic:

Public Member Functions

 CameraInteractorLogic (Camera *c, double min_far_plane)
 
void SetBoundingBox (const ccBBox &bounds) override
 
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 type) override
 
void Dolly (float z_dist, Camera::Transform matrix_in) override
 
void Pan (int dx, int dy) override
 
void Zoom (int dy, DragType drag_type)
 Sets camera field of view. More...
 
void RotateLocal (float angle_rad, const Eigen::Vector3f &axis)
 
void MoveLocal (const Eigen::Vector3f &v)
 
void RotateFly (int dx, int dy)
 
void StartMouseDrag () override
 
void ResetMouseDrag ()
 
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 &center)
 
- Public Member Functions inherited from cloudViewer::visualization::rendering::MatrixInteractorLogic
virtual ~MatrixInteractorLogic ()
 
void SetViewSize (int width, int height)
 
int GetViewWidth () const
 
int GetViewHeight () const
 
const ccBBoxGetBoundingBox () const
 
Eigen::Vector3f GetCenterOfRotation () const
 
void SetMouseDownInfo (const Camera::Transform &matrix, const Eigen::Vector3f &center_of_rotation)
 
const Camera::TransformGetMatrix () 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)
 

Additional Inherited Members

- Public Types inherited from cloudViewer::visualization::rendering::MatrixInteractorLogic
enum class  DragType { MOUSE , WHEEL , TWO_FINGER }
 
- Protected Member Functions inherited from cloudViewer::visualization::rendering::RotationInteractorLogic
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 inherited from cloudViewer::visualization::rendering::RotationInteractorLogic
double min_far_plane_
 
Cameracamera_
 
- 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_
 

Detailed Description

Definition at line 16 of file CameraInteractorLogic.h.

Constructor & Destructor Documentation

◆ CameraInteractorLogic()

cloudViewer::visualization::rendering::CameraInteractorLogic::CameraInteractorLogic ( Camera c,
double  min_far_plane 
)

Definition at line 14 of file CameraInteractorLogic.cpp.

Member Function Documentation

◆ Dolly() [1/2]

◆ Dolly() [2/2]

◆ EndMouseDrag()

void cloudViewer::visualization::rendering::CameraInteractorLogic::EndMouseDrag ( )
overridevirtual

◆ MoveLocal()

void cloudViewer::visualization::rendering::CameraInteractorLogic::MoveLocal ( const Eigen::Vector3f &  v)

◆ Pan()

◆ ResetMouseDrag()

void cloudViewer::visualization::rendering::CameraInteractorLogic::ResetMouseDrag ( )

Definition at line 139 of file CameraInteractorLogic.cpp.

References StartMouseDrag().

◆ Rotate()

void cloudViewer::visualization::rendering::CameraInteractorLogic::Rotate ( int  dx,
int  dy 
)
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.

Reimplemented in cloudViewer::visualization::rendering::CameraSphereInteractorLogic.

Definition at line 25 of file CameraInteractorLogic.cpp.

References cloudViewer::visualization::rendering::RotationInteractorLogic::camera_, cloudViewer::visualization::rendering::MatrixInteractorLogic::GetMatrix(), cloudViewer::visualization::rendering::MatrixInteractorLogic::Rotate(), and cloudViewer::visualization::rendering::Camera::SetModelMatrix().

◆ RotateFly()

◆ RotateLocal()

void cloudViewer::visualization::rendering::CameraInteractorLogic::RotateLocal ( float  angle_rad,
const Eigen::Vector3f &  axis 
)

◆ RotateZ()

◆ SetBoundingBox()

◆ StartMouseDrag()

◆ UpdateMouseDragUI()

void cloudViewer::visualization::rendering::CameraInteractorLogic::UpdateMouseDragUI ( )
overridevirtual

◆ Zoom()


The documentation for this class was generated from the following files: