Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
rendering
ModelInteractorLogic.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.open3d.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include <map>
11
12
#include "
open3d/visualization/rendering/RendererHandle.h
"
13
#include "
open3d/visualization/rendering/RotationInteractorLogic.h
"
14
15
namespace
open3d
{
16
namespace
visualization
{
17
namespace
rendering
{
18
19
class
Open3DScene
;
20
21
class
ModelInteractorLogic
:
public
RotationInteractorLogic
{
22
using
Super =
RotationInteractorLogic
;
23
24
public
:
25
ModelInteractorLogic
(
Open3DScene
* scene,
26
Camera
*
camera
,
27
double
min_far_plane);
28
virtual
~ModelInteractorLogic
();
29
30
void
SetBoundingBox
(
31
const
geometry::AxisAlignedBoundingBox
& bounds)
override
;
32
33
void
SetModel
(
GeometryHandle
axes,
34
const
std::vector<GeometryHandle>& objects);
35
36
void
Rotate
(
int
dx,
int
dy)
override
;
37
void
RotateZ
(
int
dx,
int
dy)
override
;
38
void
Dolly
(
float
dy,
DragType
drag_type)
override
;
39
void
Pan
(
int
dx,
int
dy)
override
;
40
41
void
StartMouseDrag
()
override
;
42
void
UpdateMouseDragUI
()
override
;
43
void
EndMouseDrag
()
override
;
44
45
private
:
46
Open3DScene
* scene_;
47
bool
is_axes_visible_;
48
49
geometry::AxisAlignedBoundingBox
bounds_at_mouse_down_;
50
std::map<std::string, Camera::Transform> transforms_at_mouse_down_;
51
52
void
UpdateBoundingBox(
const
Camera::Transform
&
t
);
53
};
54
55
}
// namespace rendering
56
}
// namespace visualization
57
}
// namespace open3d
RendererHandle.h
RotationInteractorLogic.h
open3d::geometry::AxisAlignedBoundingBox
A bounding box that is aligned along the coordinate axes and defined by the min_bound and max_bound.
Definition
BoundingVolume.h:160
open3d::visualization::rendering::Camera
Definition
Camera.h:21
open3d::visualization::rendering::Camera::Transform
Eigen::Transform< float, 3, Eigen::Affine > Transform
Definition
Camera.h:25
open3d::visualization::rendering::MatrixInteractorLogic::DragType
DragType
Definition
MatrixInteractorLogic.h:56
open3d::visualization::rendering::ModelInteractorLogic::UpdateMouseDragUI
void UpdateMouseDragUI() override
Definition
ModelInteractorLogic.cpp:151
open3d::visualization::rendering::ModelInteractorLogic::~ModelInteractorLogic
virtual ~ModelInteractorLogic()
Definition
ModelInteractorLogic.cpp:24
open3d::visualization::rendering::ModelInteractorLogic::EndMouseDrag
void EndMouseDrag() override
Definition
ModelInteractorLogic.cpp:153
open3d::visualization::rendering::ModelInteractorLogic::ModelInteractorLogic
ModelInteractorLogic(Open3DScene *scene, Camera *camera, double min_far_plane)
Definition
ModelInteractorLogic.cpp:19
open3d::visualization::rendering::ModelInteractorLogic::SetModel
void SetModel(GeometryHandle axes, const std::vector< GeometryHandle > &objects)
Definition
ModelInteractorLogic.cpp:35
open3d::visualization::rendering::ModelInteractorLogic::SetBoundingBox
void SetBoundingBox(const geometry::AxisAlignedBoundingBox &bounds) override
Definition
ModelInteractorLogic.cpp:26
open3d::visualization::rendering::ModelInteractorLogic::Pan
void Pan(int dx, int dy) override
Definition
ModelInteractorLogic.cpp:102
open3d::visualization::rendering::ModelInteractorLogic::RotateZ
void RotateZ(int dx, int dy) override
Rotates about the forward axis of the matrix.
Definition
ModelInteractorLogic.cpp:62
open3d::visualization::rendering::ModelInteractorLogic::Dolly
void Dolly(float dy, DragType drag_type) override
Definition
ModelInteractorLogic.cpp:78
open3d::visualization::rendering::ModelInteractorLogic::StartMouseDrag
void StartMouseDrag() override
Definition
ModelInteractorLogic.cpp:131
open3d::visualization::rendering::ModelInteractorLogic::Rotate
void Rotate(int dx, int dy) override
Definition
ModelInteractorLogic.cpp:38
open3d::visualization::rendering::Open3DScene
Definition
Open3DScene.h:38
open3d::visualization::rendering::RotationInteractorLogic::RotationInteractorLogic
RotationInteractorLogic(Camera *camera, double min_far_plane)
Definition
RotationInteractorLogic.cpp:14
open3d::camera
Definition
PinholeCameraIntrinsic.cpp:17
open3d::t
Definition
BoundingVolume.cpp:15
open3d::visualization::rendering
Definition
ModelIO.h:15
open3d::visualization::rendering::GeometryHandle
REHandle< EntityType::Geometry > GeometryHandle
Definition
RendererHandle.h:129
open3d::visualization
Definition
ModelIO.h:14
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0