SCENE C++ API
2.1.0
Core_API
core_api
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
22
class
LSPointDataSource
:
public
LSRefType
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