Open3D (C++ API)  0.17.0
Loading...
Searching...
No Matches
CameraInteractorLogic.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2023 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
11
12namespace open3d {
13namespace visualization {
14namespace rendering {
15
18
19public:
20 CameraInteractorLogic(Camera* c, double min_far_plane);
21
22 void SetBoundingBox(
23 const geometry::AxisAlignedBoundingBox& bounds) override;
24
25 void Rotate(int dx, int dy) override;
26 void RotateZ(int dx, int dy) override;
27 void Dolly(float dy, DragType type) override;
28 void Dolly(float z_dist, Camera::Transform matrix_in) override;
29
30 void Pan(int dx, int dy) override;
31
33 void Zoom(int dy, DragType drag_type);
34
35 void RotateLocal(float angle_rad, const Eigen::Vector3f& axis);
36 void MoveLocal(const Eigen::Vector3f& v);
37
38 void RotateFly(int dx, int dy);
39
40 void StartMouseDrag() override;
41 void ResetMouseDrag();
42 void UpdateMouseDragUI() override;
43 void EndMouseDrag() override;
44
45private:
46 double fov_at_mouse_down_;
47};
48
49} // namespace rendering
50} // namespace visualization
51} // namespace open3d
A bounding box that is aligned along the coordinate axes.
Definition BoundingVolume.h:159
Eigen::Transform< float, 3, Eigen::Affine > Transform
Definition Camera.h:25
Definition CameraInteractorLogic.h:16
void Rotate(int dx, int dy) override
Definition CameraInteractorLogic.cpp:26
void ResetMouseDrag()
Definition CameraInteractorLogic.cpp:140
void StartMouseDrag() override
Definition CameraInteractorLogic.cpp:135
void UpdateMouseDragUI() override
Definition CameraInteractorLogic.cpp:142
void EndMouseDrag() override
Definition CameraInteractorLogic.cpp:144
void Zoom(int dy, DragType drag_type)
Sets camera field of view.
Definition CameraInteractorLogic.cpp:79
void MoveLocal(const Eigen::Vector3f &v)
Definition CameraInteractorLogic.cpp:73
void RotateLocal(float angle_rad, const Eigen::Vector3f &axis)
Definition CameraInteractorLogic.cpp:66
void Dolly(float dy, DragType type) override
Definition CameraInteractorLogic.cpp:45
void RotateZ(int dx, int dy) override
Rotates about the forward axis of the matrix.
Definition CameraInteractorLogic.cpp:31
void RotateFly(int dx, int dy)
Definition CameraInteractorLogic.cpp:36
void SetBoundingBox(const geometry::AxisAlignedBoundingBox &bounds) override
Definition CameraInteractorLogic.cpp:17
void Pan(int dx, int dy) override
Definition CameraInteractorLogic.cpp:61
DragType
Definition MatrixInteractorLogic.h:56
Definition RotationInteractorLogic.h:16
char type
Definition FilePCD.cpp:41
Definition PinholeCameraIntrinsic.cpp:16