class cogs::io::DataBlockExporter
Overview
Enables writing or cogs structures into files. More…
#include <DataBlockExporter.h> class DataBlockExporter { public: // structs struct DataBlockInfo; // fields static uint8_t VERSION; // construction DataBlockExporter(); DataBlockExporter(const std::shared_ptr<DataBlockManager>& datablock_manager); DataBlockExporter(const DataBlockExporter&); DataBlockExporter(const DataBlockExporter&&); virtual ~DataBlockExporter(); // methods DataBlockExporter& operator=(const DataBlockExporter&); DataBlockExporter& operator=(const DataBlockExporter&&); bool OpenFile(const std::string& filename, bool overwrite_existing = false); void CloseFile(); DataBlockIndex WritePointCloud(const cogs::PointCloud& cloud); DataBlockIndex WriteScan(const cogs::Scan& scan); DataBlockIndex WriteMesh(const cogs::Mesh& mesh); };
Detailed Documentation
Enables writing or cogs structures into files.
Objects and data blocks for export are stored in the export list, and have to be valid until file is saved. Each object can be represented by one or multiple data blocks.
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.
Fields
static uint8_t VERSION
Current exporter version.
Construction
DataBlockExporter()
Creates exporter with default DataBlockManager object.
DataBlockExporter(const std::shared_ptr<DataBlockManager>& datablock_manager)
Creates exporter with custom DataBlockManager object.
Methods
bool OpenFile(const std::string& filename, bool overwrite_existing = false)
Opens file into which the data blocks can be written.
Parameters:
filename |
Name of the file. When extension is not provided, sets to “cogs”. |
overwrite_existing |
Set to true is you wish to rewrite the file that already exists. |
Returns:
True, if the file was successfully opened and can be used for writing.
void CloseFile()
Finishes and closes currently opened file, disabling writers.
DataBlockIndex WritePointCloud(const cogs::PointCloud& cloud)
Adds the object to the export list.
Parameters:
object_ref |
Reference to object. Must be valid until saved. |
Returns:
Index of data block for added object type.
DataBlockIndex WriteScan(const cogs::Scan& scan)
Adds the object to the export list.
Parameters:
object_ref |
Reference to object. Must be valid until saved. |
Returns:
Index of data block for added object type.
DataBlockIndex WriteMesh(const cogs::Mesh& mesh)
Adds the object to the export list.
Parameters:
object_ref |
Reference to object. Must be valid until saved. |
Returns:
Index of data block for added object type.