Open3D (C++ API)
Public Member Functions
open3d::visualization::CameraInteractorLogic Class Reference

#include <CameraInteractorLogic.h>

Inheritance diagram for open3d::visualization::CameraInteractorLogic:
open3d::visualization::RotationInteractorLogic open3d::visualization::MatrixInteractorLogic

Public Member Functions

 CameraInteractorLogic (Camera *c, double min_far_plane)
 
void SetBoundingBox (const geometry::AxisAlignedBoundingBox &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 (int 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 open3d::visualization::RotationInteractorLogic
 RotationInteractorLogic (visualization::Camera *camera, double min_far_plane)
 
 ~RotationInteractorLogic ()
 
virtual void SetCenterOfRotation (const Eigen::Vector3f &center)
 
- Public Member Functions inherited from open3d::visualization::MatrixInteractorLogic
virtual ~MatrixInteractorLogic ()
 
void SetViewSize (int width, int height)
 
const geometry::AxisAlignedBoundingBoxGetBoundingBox () 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 open3d::visualization::MatrixInteractorLogic
enum  DragType { DragType::MOUSE, DragType::WHEEL, DragType::TWO_FINGER }
 
- Protected Member Functions inherited from open3d::visualization::RotationInteractorLogic
Eigen::Vector3f CalcPanVectorWorld (int dx, int dy)
 
void UpdateCameraFarPlane ()
 
- Protected Member Functions inherited from open3d::visualization::MatrixInteractorLogic
void SetMatrix (const Camera::Transform &matrix)
 
double CalcRotateRadians (int dx, int dy)
 
double CalcRotateZRadians (int dx, int dy)
 
float CalcDollyDist (int dy, DragType drag_type)
 
- Protected Attributes inherited from open3d::visualization::RotationInteractorLogic
double min_far_plane_
 
visualization::Cameracamera_
 
- Protected Attributes inherited from open3d::visualization::MatrixInteractorLogic
int view_width_ = 1
 
int view_height_ = 1
 
double model_size_ = 20.0
 
geometry::AxisAlignedBoundingBox model_bounds_
 
Eigen::Vector3f center_of_rotation_
 
Camera::Transform matrix_at_mouse_down_
 
Eigen::Vector3f center_of_rotation_at_mouse_down_
 

Constructor & Destructor Documentation

◆ CameraInteractorLogic()

open3d::visualization::CameraInteractorLogic::CameraInteractorLogic ( Camera c,
double  min_far_plane 
)

Member Function Documentation

◆ Dolly() [1/2]

void open3d::visualization::CameraInteractorLogic::Dolly ( int  dy,
DragType  drag_type 
)
overridevirtual

Moves the matrix along the forward axis. (This is one type of zoom.)

Reimplemented from open3d::visualization::MatrixInteractorLogic.

◆ Dolly() [2/2]

void open3d::visualization::CameraInteractorLogic::Dolly ( float  z_dist,
Camera::Transform  matrix_in 
)
overridevirtual

◆ EndMouseDrag()

void open3d::visualization::CameraInteractorLogic::EndMouseDrag ( )
overridevirtual

◆ MoveLocal()

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

◆ Pan()

void open3d::visualization::CameraInteractorLogic::Pan ( int  dx,
int  dy 
)
overridevirtual

◆ ResetMouseDrag()

void open3d::visualization::CameraInteractorLogic::ResetMouseDrag ( )

◆ Rotate()

void open3d::visualization::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 open3d::visualization::MatrixInteractorLogic.

◆ RotateFly()

void open3d::visualization::CameraInteractorLogic::RotateFly ( int  dx,
int  dy 
)

◆ RotateLocal()

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

◆ RotateZ()

void open3d::visualization::CameraInteractorLogic::RotateZ ( int  dx,
int  dy 
)
overridevirtual

Rotates about the forward axis of the matrix.

Reimplemented from open3d::visualization::MatrixInteractorLogic.

◆ SetBoundingBox()

void open3d::visualization::CameraInteractorLogic::SetBoundingBox ( const geometry::AxisAlignedBoundingBox bounds)
overridevirtual

◆ StartMouseDrag()

void open3d::visualization::CameraInteractorLogic::StartMouseDrag ( )
overridevirtual

◆ UpdateMouseDragUI()

void open3d::visualization::CameraInteractorLogic::UpdateMouseDragUI ( )
overridevirtual

◆ Zoom()

void open3d::visualization::CameraInteractorLogic::Zoom ( int  dy,
DragType  drag_type 
)

Sets camera field of view.


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