Open3D (C++ API)  0.18.0+0cf605f
Public Member Functions
open3d::visualization::rendering::ModelInteractorLogic Class Reference

#include <ModelInteractorLogic.h>

Inheritance diagram for open3d::visualization::rendering::ModelInteractorLogic:
open3d::visualization::rendering::RotationInteractorLogic open3d::visualization::rendering::MatrixInteractorLogic

Public Member Functions

 ModelInteractorLogic (Open3DScene *scene, Camera *camera, double min_far_plane)
 
virtual ~ModelInteractorLogic ()
 
void SetBoundingBox (const geometry::AxisAlignedBoundingBox &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 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)
 
virtual void Dolly (float z_dist, Camera::Transform matrix)
 

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

◆ ModelInteractorLogic()

open3d::visualization::rendering::ModelInteractorLogic::ModelInteractorLogic ( Open3DScene scene,
Camera camera,
double  min_far_plane 
)

◆ ~ModelInteractorLogic()

open3d::visualization::rendering::ModelInteractorLogic::~ModelInteractorLogic ( )
virtual

Member Function Documentation

◆ Dolly()

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

◆ EndMouseDrag()

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

◆ Pan()

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

◆ Rotate()

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

◆ RotateZ()

void open3d::visualization::rendering::ModelInteractorLogic::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::ModelInteractorLogic::SetBoundingBox ( const geometry::AxisAlignedBoundingBox bounds)
overridevirtual

◆ SetModel()

void open3d::visualization::rendering::ModelInteractorLogic::SetModel ( GeometryHandle  axes,
const std::vector< GeometryHandle > &  objects 
)

◆ StartMouseDrag()

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

◆ UpdateMouseDragUI()

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

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