SCENE C++ API
2.1.0
Plugin_API
plugin_api
lsview3d.h
1
#pragma once
2
3
#include <core_api/lsglobaldefinitions.h>
4
#include <core_api/lspointtypes.h>
5
6
#include <plugin_api/lsview.h>
7
#include <plugin_api/lsrenderable3d.h>
8
#include <plugin_api/lsscenenode3d.h>
9
#include <plugin_api/lsoverlay3d.h>
10
#include <plugin_api/lscamera.h>
11
#include <plugin_api/lsrenderstatistics.h>
12
#include <plugin_api/lsview3dsettings.h>
13
14
namespace
SCENE_API {
15
16
// Forward declarations
17
class
LSView3d_Implementation;
18
21
class
LSView3d
:
public
LSView
22
{
23
// Instances of this class cannot be copied or assigned
24
LS_UNCOPYABLE(
LSView3d
)
25
26
public
:
29
PLUGIN_API_EXPORT
void
updateView
();
30
34
PLUGIN_API_EXPORT
void
addRenderable
(
ref_ptr<LSRenderable3D>
renderable);
35
39
PLUGIN_API_EXPORT
void
removeRenderable
(
ref_ptr<LSRenderable3D>
renderable);
40
52
PLUGIN_API_EXPORT
LSResult::Result
renderToImageFile
(
LSString
filePath,
53
bool
waitForPointLoader);
54
64
PLUGIN_API_EXPORT
LSResult::Result
renderToImageBuffer
(
unsigned
char
* buffer,
65
bool
waitForPointLoader);
66
69
PLUGIN_API_EXPORT
LSRenderStatistics
getRenderStatistics
()
const
;
70
76
PLUGIN_API_EXPORT
void
setObjectVisibility
(
LSObject
&
object
,
bool
visible);
77
82
PLUGIN_API_EXPORT
bool
isObjectVisible
(
LSObject
&
object
)
const
;
83
88
PLUGIN_API_EXPORT
ref_ptr<LSCamera>
getCamera
();
89
96
PLUGIN_API_EXPORT Eigen::Vector3d
pickScanPoint
(
const
Eigen::Vector2ui& viewPoint);
97
101
PLUGIN_API_EXPORT
ref_ptr<LSView3dSettings>
getViewSettings
()
const
;
102
106
PLUGIN_API_EXPORT
LSResult::Result
setViewSettings
(
ref_ptr<LSView3dSettings>
settings);
107
108
protected
:
109
LS_INTERFACE(
LSView3d
,
LSView
)
110
};
111
112
}