Open3D (C++ API)
Data Structures | Public Member Functions
open3d::visualization::LightDirectionInteractorLogic Class Reference

#include <LightDirectionInteractorLogic.h>

Inheritance diagram for open3d::visualization::LightDirectionInteractorLogic:
open3d::visualization::MatrixInteractorLogic

Public Member Functions

 LightDirectionInteractorLogic (Scene *scene, Camera *camera)
 
void SetDirectionalLight (LightHandle dir_light)
 
void Rotate (int dx, int dy) override
 
void StartMouseDrag ()
 
void UpdateMouseDragUI ()
 
void EndMouseDrag ()
 
Eigen::Vector3f GetCurrentDirection () const
 
- Public Member Functions inherited from open3d::visualization::MatrixInteractorLogic
virtual ~MatrixInteractorLogic ()
 
void SetViewSize (int width, int height)
 
const geometry::AxisAlignedBoundingBoxGetBoundingBox () const
 
virtual void SetBoundingBox (const geometry::AxisAlignedBoundingBox &bounds)
 
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 RotateZ (int dx, int dy)
 Rotates about the forward axis of the matrix. More...
 
virtual void RotateZWorld (int dx, int dy, const Eigen::Vector3f &forward)
 
virtual void Dolly (int dy, DragType drag_type)
 
virtual void Dolly (float z_dist, Camera::Transform matrix)
 

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::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::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

◆ LightDirectionInteractorLogic()

open3d::visualization::LightDirectionInteractorLogic::LightDirectionInteractorLogic ( Scene scene,
Camera camera 
)

Member Function Documentation

◆ EndMouseDrag()

void open3d::visualization::LightDirectionInteractorLogic::EndMouseDrag ( )

◆ GetCurrentDirection()

Eigen::Vector3f open3d::visualization::LightDirectionInteractorLogic::GetCurrentDirection ( ) const

◆ Rotate()

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

◆ SetDirectionalLight()

void open3d::visualization::LightDirectionInteractorLogic::SetDirectionalLight ( LightHandle  dir_light)

◆ StartMouseDrag()

void open3d::visualization::LightDirectionInteractorLogic::StartMouseDrag ( )

◆ UpdateMouseDragUI()

void open3d::visualization::LightDirectionInteractorLogic::UpdateMouseDragUI ( )

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