SCENE C++ API  2.1.0
lspointcloudrenderer.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 LSPointCloudRenderer_Implementation;
14 
18 {
19  LS_UNCOPYABLE(LSPointCloudRenderer)
20 
21 public:
22 
26  CORE_API_EXPORT void setResolution(uint16_t resolution[2]);
27 
31  CORE_API_EXPORT void getResolution(uint16_t resolution[2]) const;
32 
35  CORE_API_EXPORT void setPerspectiveCamera(double horizontalFOV);
36 
39  CORE_API_EXPORT double getPerspectiveFieldOfView() const;
40 
43  CORE_API_EXPORT void setOrthographicCamera(double horizontalRange);
44 
47  CORE_API_EXPORT double getOrthographicViewRange() const;
48 
53  CORE_API_EXPORT void getNearFar(double &nearDist, double &farDist) const;
54 
57  CORE_API_EXPORT void setNearFar(double nearDist, double farDist);
58 
61  CORE_API_EXPORT bool getPerspectiveProjection() const;
62 
73  CORE_API_EXPORT void queryVisiblePoints(
74  const Eigen::Vector3d &cameraPos,
75  const Eigen::Vector3d &cameraYAxis,
76  const Eigen::Vector3d &cameraZAxis,
77  LSPointXYZFRGBA **visiblePoints,
78  size_t &numPoints,
79  bool &final);
80 
81 protected:
82  LS_INTERFACE(LSPointCloudRenderer, LSInterface)
83 };
84 
85 }