Program Listing for File ChunkIO.hpp
↰ Return to documentation for file (include/lvr2/io/ChunkIO.hpp)
#ifndef CHUNKIO_HPP
#define CHUNKIO_HPP
#include "lvr2/geometry/BaseVector.hpp"
#include "lvr2/types/Model.hpp"
#include "lvr2/io/deprecated/hdf5/HDF5FeatureBase.hpp"
#include "lvr2/io/deprecated/hdf5/ArrayIO.hpp"
#include "lvr2/io/deprecated/hdf5/ChannelIO.hpp"
#include "lvr2/io/deprecated/hdf5/MeshIO.hpp"
#include "lvr2/io/deprecated/hdf5/VariantChannelIO.hpp"
namespace lvr2 {
using ChunkHDF5IO = lvr2::Hdf5IO<
lvr2::hdf5features::ArrayIO,
lvr2::hdf5features::ChannelIO,
lvr2::hdf5features::VariantChannelIO,
lvr2::hdf5features::MeshIO>;
class ChunkIO{
public:
ChunkIO();
ChunkIO(std::string filePath);
void writeBasicStructure(BaseVector<std::size_t> amount, float chunksize, BoundingBox<BaseVector<float>> boundingBox);
void writeChunk(lvr2::MeshBufferPtr mesh, size_t x, size_t y, size_t z);
lvr2::MeshBufferPtr loadChunk(std::string chunkName);
BaseVector <size_t> loadAmount();
BoundingBox <BaseVector<float>> loadBoundingBox();
float loadChunkSize();
void writeVoxelSize(float voxelSize);
float readVoxelSize();
boost::shared_array<bool> lsrLoadExtruded(string chunkName);
boost::shared_array<float> lsrLoadQueryPoints(string chunkName);
size_t lsrLoadNumCells(string chunkName);
boost::shared_array<float> lsrLoadCenters(string chunkName);
void writeTSDF(string cellName,
size_t csize,
boost::shared_array<float> centers,
boost::shared_array<bool> extruded,
boost::shared_array<float> queryPoints);
private:
// path to the hdf5 file
std::string m_filePath;
// hdf5Io object to save and load chunks
ChunkHDF5IO m_hdf5IO;
// default names for the groups
const std::string m_chunkName = "chunks";
const std::string m_amountName = "amount";
const std::string m_chunkSizeName = "size";
const std::string m_boundingBoxName = "bounding_box";
};
} // namespace lvr2
#endif //CHUNKIO_HPP