Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
open3d::visualization::rendering::CameraInteractorLogic Class Reference

#include <CameraInteractorLogic.h>

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

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.
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.
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::rendering::RotationInteractorLogic
 RotationInteractorLogic (Camera *camera, double min_far_plane)
 ~RotationInteractorLogic ()
virtual void SetCenterOfRotation (const Eigen::Vector3f &center)
Public Member Functions inherited from open3d::visualization::rendering::MatrixInteractorLogic
virtual ~MatrixInteractorLogic ()
void SetViewSize (int width, int height)
int GetViewWidth () const
int GetViewHeight () const
const geometry::AxisAlignedBoundingBoxGetBoundingBox () 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 open3d::visualization::rendering::MatrixInteractorLogic
enum class  DragType { MOUSE , WHEEL , TWO_FINGER }
Protected Member Functions inherited from open3d::visualization::rendering::RotationInteractorLogic
Eigen::Vector3f CalcPanVectorWorld (int dx, int dy)
void UpdateCameraFarPlane ()
Protected Member Functions inherited from open3d::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 open3d::visualization::rendering::RotationInteractorLogic
double min_far_plane_
Cameracamera_
Protected Attributes inherited from open3d::visualization::rendering::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::rendering::CameraInteractorLogic::CameraInteractorLogic ( Camera * c,
double min_far_plane )

Member Function Documentation

◆ Dolly() [1/2]

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

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

Reimplemented from open3d::visualization::rendering::MatrixInteractorLogic.

◆ Dolly() [2/2]

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

◆ EndMouseDrag()

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

◆ MoveLocal()

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

◆ Pan()

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

◆ ResetMouseDrag()

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

◆ Rotate()

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

Reimplemented in open3d::visualization::rendering::CameraSphereInteractorLogic.

◆ RotateFly()

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

◆ RotateLocal()

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

◆ RotateZ()

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

Rotates about the forward axis of the matrix.

Reimplemented from open3d::visualization::rendering::MatrixInteractorLogic.

◆ SetBoundingBox()

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

◆ StartMouseDrag()

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

◆ UpdateMouseDragUI()

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

◆ Zoom()

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

Sets camera field of view.


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