SCENE C++ API  2.1.0
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 
39 
45  CORE_API_EXPORT LSIterator<LSPointXYZRGB> getPointCloudIterator(const LSSphereVolume& volume) const;
46 
53 
60 
65  CORE_API_EXPORT void determineBoundingBox(Eigen::Vector3d& minOut, Eigen::Vector3d& maxOut) const;
66 
70  CORE_API_EXPORT uint64_t getNumberOfPoints() const;
71 
78 
84  CORE_API_EXPORT LSIterator<LSPointXYZRGBN> getPointCloudNormalsIterator(const LSSphereVolume& volume) const;
85 
92 
93 protected:
94  LS_INTERFACE(LSPointCloud, LSInterface)
95 };
96 
97 }