38 virtual std::list<std::string>
readDirectory(
const char* dir_path,
unsigned int start,
unsigned int end) = 0;
47 virtual void readPose(
const char* dir_path,
const char* identifier,
double* pose) = 0;
56 virtual void readScan(
const char* dir_path,
const char* identifier,
PointFilter&
filter, std::vector<double>* xyz = 0, std::vector<unsigned char>* rgb = 0, std::vector<float>* reflectance = 0, std::vector<float>* amplitude = 0, std::vector<int>* type = 0, std::vector<float>* deviation = 0) = 0;
void destroy_sio(ScanIO *)
virtual void readPose(const char *dir_path, const char *identifier, double *pose)=0
virtual std::list< std::string > readDirectory(const char *dir_path, unsigned int start, unsigned int end)=0
IODataType
Data channels in the scans.
static void clearScanIOs()
Delete all ScanIO instances and (lazy) try to unload the libraries.
IOType
IO types for file formats, distinguishing the use of ScanIOs.
static ScanIO * getScanIO(IOType iotype)
Global mapping of io_types to single instances of ScanIOs.
static std::map< IOType, ScanIO * > m_scanIOs
virtual void readScan(const char *dir_path, const char *identifier, PointFilter &filter, std::vector< double > *xyz=0, std::vector< unsigned char > *rgb=0, std::vector< float > *reflectance=0, std::vector< float > *amplitude=0, std::vector< int > *type=0, std::vector< float > *deviation=0)=0
void filter(lvr2::PointBufferPtr &cloud, lvr2::indexArray &inlier, size_t j)
IO filtering class for ScanIO to discard unwanted points.
virtual bool supports(IODataType type)=0
Scan types and mapping functions.