Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
visualizer
ViewControlWithEditing.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 "
open3d/visualization/visualizer/ViewControl.h
"
11
12
namespace
open3d
{
13
namespace
visualization
{
14
15
class
ViewControlWithEditing
:
public
ViewControl
{
16
public
:
17
enum
EditingMode
{
18
FreeMode
= 0,
19
OrthoPositiveX
= 1,
20
OrthoNegativeX
= 2,
21
OrthoPositiveY
= 3,
22
OrthoNegativeY
= 4,
23
OrthoPositiveZ
= 5,
24
OrthoNegativeZ
= 6,
25
};
26
27
public
:
28
virtual
~ViewControlWithEditing
() {}
29
30
void
Reset
()
override
;
31
void
ChangeFieldOfView
(
double
step)
override
;
32
void
Scale
(
double
scale)
override
;
33
void
Rotate
(
double
x,
double
y,
double
xo,
double
yo)
override
;
34
void
Translate
(
double
x,
double
y,
double
xo,
double
yo)
override
;
35
36
void
SetEditingMode
(
EditingMode
mode);
37
std::string
GetStatusString
()
const
;
38
39
EditingMode
GetEditingMode
()
const
{
return
editing_mode_
; };
40
void
ToggleEditingX
() {
41
if
(
editing_mode_
==
EditingMode::OrthoPositiveX
) {
42
SetEditingMode
(
EditingMode::OrthoNegativeX
);
43
}
else
{
44
SetEditingMode
(
EditingMode::OrthoPositiveX
);
45
}
46
}
47
48
void
ToggleEditingY
() {
49
if
(
editing_mode_
==
EditingMode::OrthoPositiveY
) {
50
SetEditingMode
(
EditingMode::OrthoNegativeY
);
51
}
else
{
52
SetEditingMode
(
EditingMode::OrthoPositiveY
);
53
}
54
}
55
56
void
ToggleEditingZ
() {
57
if
(
editing_mode_
==
EditingMode::OrthoPositiveZ
) {
58
SetEditingMode
(
EditingMode::OrthoNegativeZ
);
59
}
else
{
60
SetEditingMode
(
EditingMode::OrthoPositiveZ
);
61
}
62
}
63
64
void
ToggleLocking
() {
is_view_locked_
= !
is_view_locked_
; }
65
bool
IsLocked
()
const
{
return
is_view_locked_
; }
66
67
protected
:
68
EditingMode
editing_mode_
=
FreeMode
;
69
ViewParameters
view_status_backup_
;
70
bool
is_view_locked_
=
false
;
71
};
72
73
}
// namespace visualization
74
}
// namespace open3d
ViewControl.h
open3d::visualization::ViewControl
View controller for visualizer.
Definition
ViewControl.h:23
open3d::visualization::ViewControlWithEditing
Definition
ViewControlWithEditing.h:15
open3d::visualization::ViewControlWithEditing::view_status_backup_
ViewParameters view_status_backup_
Definition
ViewControlWithEditing.h:69
open3d::visualization::ViewControlWithEditing::Rotate
void Rotate(double x, double y, double xo, double yo) override
Function to process rotation.
Definition
ViewControlWithEditing.cpp:71
open3d::visualization::ViewControlWithEditing::GetStatusString
std::string GetStatusString() const
Definition
ViewControlWithEditing.cpp:116
open3d::visualization::ViewControlWithEditing::ChangeFieldOfView
void ChangeFieldOfView(double step) override
Definition
ViewControlWithEditing.cpp:53
open3d::visualization::ViewControlWithEditing::Translate
void Translate(double x, double y, double xo, double yo) override
Function to process translation.
Definition
ViewControlWithEditing.cpp:91
open3d::visualization::ViewControlWithEditing::SetEditingMode
void SetEditingMode(EditingMode mode)
Definition
ViewControlWithEditing.cpp:103
open3d::visualization::ViewControlWithEditing::editing_mode_
EditingMode editing_mode_
Definition
ViewControlWithEditing.h:68
open3d::visualization::ViewControlWithEditing::~ViewControlWithEditing
virtual ~ViewControlWithEditing()
Definition
ViewControlWithEditing.h:28
open3d::visualization::ViewControlWithEditing::EditingMode
EditingMode
Definition
ViewControlWithEditing.h:17
open3d::visualization::ViewControlWithEditing::OrthoPositiveX
@ OrthoPositiveX
Definition
ViewControlWithEditing.h:19
open3d::visualization::ViewControlWithEditing::OrthoNegativeZ
@ OrthoNegativeZ
Definition
ViewControlWithEditing.h:24
open3d::visualization::ViewControlWithEditing::OrthoNegativeY
@ OrthoNegativeY
Definition
ViewControlWithEditing.h:22
open3d::visualization::ViewControlWithEditing::FreeMode
@ FreeMode
Definition
ViewControlWithEditing.h:18
open3d::visualization::ViewControlWithEditing::OrthoPositiveZ
@ OrthoPositiveZ
Definition
ViewControlWithEditing.h:23
open3d::visualization::ViewControlWithEditing::OrthoPositiveY
@ OrthoPositiveY
Definition
ViewControlWithEditing.h:21
open3d::visualization::ViewControlWithEditing::OrthoNegativeX
@ OrthoNegativeX
Definition
ViewControlWithEditing.h:20
open3d::visualization::ViewControlWithEditing::ToggleEditingZ
void ToggleEditingZ()
Definition
ViewControlWithEditing.h:56
open3d::visualization::ViewControlWithEditing::Reset
void Reset() override
Definition
ViewControlWithEditing.cpp:13
open3d::visualization::ViewControlWithEditing::GetEditingMode
EditingMode GetEditingMode() const
Definition
ViewControlWithEditing.h:39
open3d::visualization::ViewControlWithEditing::IsLocked
bool IsLocked() const
Definition
ViewControlWithEditing.h:65
open3d::visualization::ViewControlWithEditing::ToggleEditingY
void ToggleEditingY()
Definition
ViewControlWithEditing.h:48
open3d::visualization::ViewControlWithEditing::Scale
void Scale(double scale) override
Definition
ViewControlWithEditing.cpp:62
open3d::visualization::ViewControlWithEditing::ToggleEditingX
void ToggleEditingX()
Definition
ViewControlWithEditing.h:40
open3d::visualization::ViewControlWithEditing::ToggleLocking
void ToggleLocking()
Definition
ViewControlWithEditing.h:64
open3d::visualization::ViewControlWithEditing::is_view_locked_
bool is_view_locked_
Definition
ViewControlWithEditing.h:70
open3d::visualization::ViewParameters
Definition
ViewParameters.h:18
open3d::visualization
Definition
ModelIO.h:14
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0