class cogs::io::DataBlockImporter
Overview
Enables reading of cogs structures into files. More…
#include <DataBlockImporter.h> class DataBlockImporter { public: // structs struct DataBlockInfo; // construction DataBlockImporter(); DataBlockImporter(const std::shared_ptr<DataBlockManager>& datablock_manager); DataBlockImporter(const DataBlockImporter&); DataBlockImporter(const DataBlockImporter&&); // methods DataBlockImporter& operator=(const DataBlockImporter&); DataBlockImporter& operator=(const DataBlockImporter&&); bool OpenFile(const std::string& filename); void CloseFile(); bool IsFileOpen() const; size_t GetPointCloudCount() const; bool ReadPointCloud(cogs::PointCloud& out_cloud, DataBlockIndex id = 0); size_t GetScanCount() const; bool ReadScan(cogs::Scan& out_scan, DataBlockIndex id = 0); size_t GetMeshCount() const; bool ReadMesh(cogs::Mesh& out_mesh, DataBlockIndex id = 0); };
Detailed Documentation
Enables reading of cogs structures into files.
When file is open, only header is fetched, containing information about data available in file and it counts. When user gets specific object, it is imported directly from file. When file is closed, no data can be obtained.
By default, exporter supports only predefined data blocks, but can be altered to support also custom data blocks, when user-defined DataBlockManager is provided during class construction.
For more information about cogs file io system, see page cogs-file-format.
Construction
DataBlockImporter()
Creates importer with default DataBlockManager object.
DataBlockImporter(const std::shared_ptr<DataBlockManager>& datablock_manager)
Creates importer with custom DataBlockManager object.
Methods
bool OpenFile(const std::string& filename)
Opens file for reading and fetches file header information.
void CloseFile()
Closes currently opened file, disabling getters.
bool IsFileOpen() const
Checks if a file is currently open.
size_t GetPointCloudCount() const
Returns number of available all point cloud objects.
bool ReadPointCloud(cogs::PointCloud& out_cloud, DataBlockIndex id = 0)
Loads object with specified index from file. Returns success.
size_t GetScanCount() const
Returns number of available point cloud objects with scan information.
bool ReadScan(cogs::Scan& out_scan, DataBlockIndex id = 0)
Loads object with specified index from file. Returns success.
size_t GetMeshCount() const
Returns number of available mesh objects.
bool ReadMesh(cogs::Mesh& out_mesh, DataBlockIndex id = 0)
Loads object with specified index from file. Returns success.