SCENE C++ API
2.1.0
Core_API
core_api
lspointcloud.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/lspointtypes.h>
7
#include <core_api/lsiterator.h>
8
#include <core_api/lsresult.h>
9
10
namespace
SCENE_API {
11
12
// Forward declarations
13
class
LSVolumeDefinition;
14
class
LSSphereVolume;
15
class
LSPointCloudRenderer;
16
class
LSPointCloud_Implementation;
17
21
class
LSPointCloud
:
public
LSInterface
,
public
LSRefType
22
{
23
LS_UNCOPYABLE(
LSPointCloud
)
24
25
public
:
32
CORE_API_EXPORT
int
getPointCloudVersion
()
const
;
33
38
CORE_API_EXPORT
LSIterator<LSPointXYZRGB>
getPointCloudIterator
();
39
45
CORE_API_EXPORT
LSIterator<LSPointXYZRGB>
getPointCloudIterator
(
const
LSSphereVolume
& volume)
const
;
46
52
CORE_API_EXPORT
LSIterator<LSPointXYZRGB>
getPointCloudIterator
(
ref_ptr<LSVolumeDefinition>
volume)
const
;
53
59
CORE_API_EXPORT
ref_ptr<LSPointCloudRenderer>
createPointCloudRenderer
()
const
;
60
65
CORE_API_EXPORT
void
determineBoundingBox
(Eigen::Vector3d& minOut, Eigen::Vector3d& maxOut)
const
;
66
70
CORE_API_EXPORT uint64_t
getNumberOfPoints
()
const
;
71
77
CORE_API_EXPORT
LSIterator<LSPointXYZRGBN>
getPointCloudNormalsIterator
();
78
84
CORE_API_EXPORT
LSIterator<LSPointXYZRGBN>
getPointCloudNormalsIterator
(
const
LSSphereVolume
& volume)
const
;
85
91
CORE_API_EXPORT
LSIterator<LSPointXYZRGBN>
getPointCloudNormalsIterator
(
ref_ptr<LSVolumeDefinition>
volume)
const
;
92
93
protected
:
94
LS_INTERFACE(
LSPointCloud
,
LSInterface
)
95
};
96
97
}