SCENE C++ API
2.1.0
Plugin_API
plugin_api
lsview.h
1
#pragma once
2
3
#include <core_api/lsglobaldefinitions.h>
4
#include <core_api/lsinterface.h>
5
#include <core_api/lsreftype.h>
6
#include <core_api/lsresult.h>
7
#include <core_api/lsobject.h>
8
#include <core_api/lssignal.h>
9
10
#include <plugin_api/lsmouseevent.h>
11
#include <plugin_api/lsmousewheelevent.h>
12
#include <plugin_api/lskeyevent.h>
13
14
#include <Eigen/Core>
15
16
namespace
SCENE_API {
17
18
// Forward declarations
19
class
LSView_Implementation;
20
24
class
LSView
:
public
LSInterface
,
public
LSRefType
25
{
26
LS_UNCOPYABLE(
LSView
)
27
28
public
:
29
32
enum
ViewType
{
33
VIEW_3D
= 0,
34
CORRESPONDENCE_VIEW
= 1,
35
QUICK_VIEW
= 3,
36
PLANAR_VIEW
= 4
37
};
38
39
43
PLUGIN_API_EXPORT
bool
isOffscreen
()
const
;
44
48
PLUGIN_API_EXPORT
ViewType
getViewType
()
const
;
49
53
PLUGIN_API_EXPORT
unsigned
getViewSizeX
();
57
PLUGIN_API_EXPORT
unsigned
getViewSizeY
();
58
62
PLUGIN_API_EXPORT
ref_ptr<LSObject>
getVisualizedObject
()
const
;
63
70
PLUGIN_API_EXPORT Eigen::Vector3d
pickScanPoint
(
const
Eigen::Vector2ui& viewPoint);
71
73
74
77
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseLeftButtonDown
;
78
81
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseLeftButtonUp
;
82
85
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseLeftButtonDoubleClick
;
86
90
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseRightButtonDown
;
91
94
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseRightButtonUp
;
95
98
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseMiddleButtonDown
;
99
102
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseMiddleButtonUp
;
103
106
LSSignal<ref_ptr<LSMouseEvent>
>
onMouseMoved
;
107
110
LSSignal<ref_ptr<LSMouseWheelEvent>
>
onMouseWheelMoved
;
111
114
LSSignal<ref_ptr<LSKeyEvent>
>
onKeyDown
;
115
118
LSSignal<ref_ptr<LSKeyEvent>
>
onKeyUp
;
119
121
122
protected
:
123
LS_INTERFACE(
LSView
,
LSInterface
)
124
};
125
126
}