SCENE C++ API  2.1.0
lsview3dsettings.h
1 #pragma once
2 
3 #include <core_api/lsattributecontainer.h>
4 
5 namespace SCENE_API
6 {
7 class LSView3dSettings_Implementation;
8 
9 //-----------------------------------------------------------------------------
10 // L S V i e w 3 d S e t t i n g s
11 //-----------------------------------------------------------------------------
12 
16 {
17  LS_UNCOPYABLE(LSView3dSettings)
18 
19 public:
20 
23  enum class PointColoring
24  {
25  NoColoring,
32  };
33 
36  enum class PostProcess
37  {
39  ClearView,
40  GapFilling,
41  };
42 
46  enum class Shading
47  {
48  NoShading,
49  LightShading,
51  };
52 
55  enum class PointSizeMode
56  {
57  Adaptive,
58  Fixed,
59  };
60 
64  enum class SuperSampling
65  {
70  };
71 
74  enum class ApplyShadingTo
75  {
76  Points,
77  Meshes,
78  Both,
79  };
80 
83  enum class ColorMap
84  {
85  Rainbow,
86  ColdHot,
87  Linear,
88  };
89 
95  PLUGIN_API_EXPORT static ref_ptr<LSView3dSettings> create();
96 
101  PLUGIN_API_EXPORT LSResult::Result setSuperSampling(const SuperSampling mode);
102 
107  PLUGIN_API_EXPORT SuperSampling getSuperSampling() const;
108 
113  PLUGIN_API_EXPORT LSResult::Result setPointSizeMode(const PointSizeMode mode);
114 
119  PLUGIN_API_EXPORT PointSizeMode getPointSizeMode() const;
120 
127  PLUGIN_API_EXPORT LSResult::Result setFixedPointSize(const unsigned int pixels);
128 
133  PLUGIN_API_EXPORT unsigned int getFixedPointSize() const;
134 
141  PLUGIN_API_EXPORT LSResult::Result setAdaptivePointSize(const float meters);
142 
147  PLUGIN_API_EXPORT float getAdaptivePointSize() const;
148 
154  PLUGIN_API_EXPORT LSResult::Result setPointColoring(const PointColoring mode);
155 
160  PLUGIN_API_EXPORT PointColoring getPointColoring() const;
161 
180  PLUGIN_API_EXPORT LSResult::Result setColoringRangeMin(const Eigen::Vector4d& min);
181 
190  PLUGIN_API_EXPORT Eigen::Vector4d getColoringRangeMin() const;
191 
209  PLUGIN_API_EXPORT LSResult::Result setColoringRangeMax(const Eigen::Vector4d& max);
210 
219  PLUGIN_API_EXPORT Eigen::Vector4d getColoringRangeMax() const;
220 
226  PLUGIN_API_EXPORT LSResult::Result setBlendColoringWithPointColors(const bool blendColoringWithPointColorsEnabled);
227 
234  PLUGIN_API_EXPORT bool getBlendColoringWithPointColors() const;
235 
243  PLUGIN_API_EXPORT LSResult::Result setReferenceOrigin(const Eigen::Vector3d& origin);
244 
251  PLUGIN_API_EXPORT Eigen::Vector3d getReferenceOrigin() const;
252 
266  PLUGIN_API_EXPORT LSResult::Result setReferencePose(const Eigen::Matrix4f& pose);
267 
272  PLUGIN_API_EXPORT Eigen::Matrix4f getReferencePose() const;
273 
280  PLUGIN_API_EXPORT LSResult::Result setDiscreteColors(const bool discreteColorsEnabled);
281 
287  PLUGIN_API_EXPORT bool getDiscreteColors() const;
288 
295  PLUGIN_API_EXPORT LSResult::Result setNumOfDiscreteColors(const unsigned int numOfColors);
296 
301  PLUGIN_API_EXPORT unsigned int getNumOfDiscreteColors() const;
302 
308  PLUGIN_API_EXPORT LSResult::Result setColorMap(const ColorMap mode);
309 
314  PLUGIN_API_EXPORT ColorMap getColorMap() const;
315 
322  PLUGIN_API_EXPORT LSResult::Result setCalculateDistanceFromCamera(const bool distanceFromCamera);
323 
332  PLUGIN_API_EXPORT bool getCalculateDistanceFromCamera() const;
333 
339  PLUGIN_API_EXPORT LSResult::Result setShading(const Shading mode);
340 
345  PLUGIN_API_EXPORT Shading getShading() const;
346 
351  PLUGIN_API_EXPORT LSResult::Result setApplyShadingTo(const ApplyShadingTo mode);
352 
357  PLUGIN_API_EXPORT ApplyShadingTo getApplyShadingTo() const;
358 
365  PLUGIN_API_EXPORT LSResult::Result setShadingStrength(const uint8_t shadingStrength);
366 
371  PLUGIN_API_EXPORT uint8_t getShadingStrength() const;
372 
378  PLUGIN_API_EXPORT LSResult::Result setPostProcess(const PostProcess mode);
379 
384  PLUGIN_API_EXPORT PostProcess getPostProcess() const;
385 
393  PLUGIN_API_EXPORT LSResult::Result setTransparencyFactor(const float factor);
394 
400  PLUGIN_API_EXPORT float getTransparencyFactor() const;
401 protected:
403 };
404 }