descriptions/ArrayIO.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef LVR2_IO_HDF5_ARRAYIO_HPP
3 #define LVR2_IO_HDF5_ARRAYIO_HPP
4 
6 #include <boost/shared_array.hpp>
7 
8 namespace lvr2 {
9 
10 template<typename FeatureBase>
11 class ArrayIO {
12 public:
13 
14  virtual ucharArr loadUCharArray(const std::string& group, const std::string& container, std::vector<size_t> &dims) const;
15  virtual floatArr loadFloatArray(const std::string& group, const std::string& container, std::vector<size_t> &dims) const;
16  virtual doubleArr loadDoubleArray(const std::string& group, const std::string& container, std::vector<size_t> &dims) const;
17 
18  virtual void saveFloatArray(const std::string& groupName, const std::string& datasetName, const std::vector<size_t>& dimensions, const boost::shared_array<float>& data) const;
19  virtual void saveDoubleArray(const std::string& groupName, const std::string& datasetName, const std::vector<size_t>& dimensions, const boost::shared_array<double>& data) const;
20  virtual void saveUCharArray(const std::string& groupName, const std::string& datasetName, const std::vector<size_t>& dimensions, const boost::shared_array<unsigned char>& data) const;
21 
22 protected:
23  FeatureBase* m_featureBase= static_cast<FeatureBase*>(this);
24 
25 };
26 
27 } // namespace lvr2
28 
29 #include "ArrayIO.tcc"
30 
31 #endif
lvr2::floatArr
boost::shared_array< float > floatArr
Definition: DataStruct.hpp:133
lvr2::ArrayIO::saveUCharArray
virtual void saveUCharArray(const std::string &groupName, const std::string &datasetName, const std::vector< size_t > &dimensions, const boost::shared_array< unsigned char > &data) const
lvr2::ArrayIO::loadUCharArray
virtual ucharArr loadUCharArray(const std::string &group, const std::string &container, std::vector< size_t > &dims) const
lvr2::ArrayIO
Definition: descriptions/ArrayIO.hpp:11
lvr2::ArrayIO::m_featureBase
FeatureBase * m_featureBase
Definition: descriptions/ArrayIO.hpp:23
lvr2::ArrayIO::loadDoubleArray
virtual doubleArr loadDoubleArray(const std::string &group, const std::string &container, std::vector< size_t > &dims) const
lvr2::ArrayIO::saveFloatArray
virtual void saveFloatArray(const std::string &groupName, const std::string &datasetName, const std::vector< size_t > &dimensions, const boost::shared_array< float > &data) const
lvr2::ArrayIO::saveDoubleArray
virtual void saveDoubleArray(const std::string &groupName, const std::string &datasetName, const std::vector< size_t > &dimensions, const boost::shared_array< double > &data) const
HDF5FeatureBase.hpp
lvr2::ArrayIO::loadFloatArray
virtual floatArr loadFloatArray(const std::string &group, const std::string &container, std::vector< size_t > &dims) const
lvr2::ucharArr
boost::shared_array< unsigned char > ucharArr
Definition: DataStruct.hpp:137
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::FeatureBase
Manager Class for all FeatureBase components located in hdf5 directory.
Definition: FeatureBase.hpp:31
lvr2::doubleArr
boost::shared_array< double > doubleArr
Definition: DataStruct.hpp:134


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:22