ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
LightDirectionInteractorLogic.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - CloudViewer: www.cloudViewer.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.cloudViewer.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include "
visualization/rendering/MatrixInteractorLogic.h
"
11
#include "
visualization/rendering/RendererHandle.h
"
12
13
namespace
cloudViewer
{
14
namespace
visualization {
15
namespace
rendering {
16
17
class
Camera
;
18
class
Scene
;
19
20
class
LightDirectionInteractorLogic
:
public
MatrixInteractorLogic
{
21
using
Super
=
MatrixInteractorLogic
;
22
23
public
:
24
LightDirectionInteractorLogic
(
Scene
* scene,
Camera
* camera);
25
26
void
Rotate
(
int
dx,
int
dy)
override
;
27
28
void
StartMouseDrag
();
29
void
UpdateMouseDragUI
();
30
void
EndMouseDrag
();
31
32
Eigen::Vector3f
GetCurrentDirection
()
const
;
33
34
private
:
35
Scene
* scene_;
36
Camera
* camera_;
37
LightHandle
dir_light_;
38
Eigen::Vector3f light_dir_at_mouse_down_;
39
40
struct
UIObj {
41
std::string
name
;
42
Camera::Transform
transform;
43
};
44
std::vector<UIObj> ui_objs_;
45
46
void
ClearUI();
47
};
48
49
}
// namespace rendering
50
}
// namespace visualization
51
}
// namespace cloudViewer
name
std::string name
Definition:
FileIOFactory.cpp:129
MatrixInteractorLogic.h
RendererHandle.h
cloudViewer::visualization::rendering::Camera
Definition:
Camera.h:18
cloudViewer::visualization::rendering::Camera::Transform
Eigen::Transform< float, 3, Eigen::Affine > Transform
Definition:
Camera.h:29
cloudViewer::visualization::rendering::LightDirectionInteractorLogic
Definition:
LightDirectionInteractorLogic.h:20
cloudViewer::visualization::rendering::LightDirectionInteractorLogic::EndMouseDrag
void EndMouseDrag()
Definition:
LightDirectionInteractorLogic.cpp:203
cloudViewer::visualization::rendering::LightDirectionInteractorLogic::UpdateMouseDragUI
void UpdateMouseDragUI()
Definition:
LightDirectionInteractorLogic.cpp:194
cloudViewer::visualization::rendering::LightDirectionInteractorLogic::GetCurrentDirection
Eigen::Vector3f GetCurrentDirection() const
Definition:
LightDirectionInteractorLogic.cpp:212
cloudViewer::visualization::rendering::LightDirectionInteractorLogic::LightDirectionInteractorLogic
LightDirectionInteractorLogic(Scene *scene, Camera *camera)
Definition:
LightDirectionInteractorLogic.cpp:125
cloudViewer::visualization::rendering::LightDirectionInteractorLogic::Rotate
void Rotate(int dx, int dy) override
Definition:
LightDirectionInteractorLogic.cpp:129
cloudViewer::visualization::rendering::LightDirectionInteractorLogic::StartMouseDrag
void StartMouseDrag()
Definition:
LightDirectionInteractorLogic.cpp:136
cloudViewer::visualization::rendering::MatrixInteractorLogic
Definition:
MatrixInteractorLogic.h:21
cloudViewer::visualization::rendering::Scene
Definition:
Scene.h:44
cloudViewer::visualization::rendering::EntityType::Camera
@ Camera
cloudViewer::visualization::rendering::EntityType::Scene
@ Scene
cloudViewer
Generic file read and write utility for python interface.
Definition:
AutoSegmentationTools.h:16
cloudViewer::visualization::rendering::REHandle< EntityType::Light >
libs
cloudViewer
visualization
rendering
LightDirectionInteractorLogic.h
Generated on Wed Jan 28 2026 09:00:57 for ACloudViewer by
1.9.1