SCENE C++ API  2.1.0
lsimport.h
1 #pragma once
2 
3 #include <core_api/lsglobaldefinitions.h>
4 #include <core_api/lsreftype.h>
5 #include <core_api/lsresult.h>
6 
7 namespace SCENE_API
8 {
9  // Forward declarations
10  class LSProject;
11  class LSString;
12  class LSScan;
13 
16 
23  {
24  public:
25  virtual ~LSPointDataSource() {};
26 
50  virtual bool getNextPoint(
51  double position[3],
52  uint32_t& row,
53  uint32_t& column,
54  float normal[3],
55  uint8_t color[3],
56  float& intensity) = 0;
57 
61  virtual uint64_t getNumberOfPoints() const = 0;
62 
70  virtual bool isStructured() const { return false; }
71 
77  virtual uint32_t getNumberOfRows() const { return 0; }
78 
84  virtual uint32_t getNumberOfCols() const { return 0; }
85 
93  virtual bool hasNormals() const { return false; }
94 
100  virtual bool hasColors() const { return false; }
101 
107  virtual bool hasIntensity() const { return false; }
108  };
109 
161  CORE_API_EXPORT LSResult::Result importPointData(
162  const ref_ptr<LSProject>& project,
163  const LSString& name,
164  const ref_ptr<LSPointDataSource>& source,
165  ref_ptr<LSScan>& scan);
166 
167 } // namespace SCENE_API