descriptions/ScanIO.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef LVR2_IO_HDF5_SCANIO_HPP
4 #define LVR2_IO_HDF5_SCANIO_HPP
5 
6 #include "ArrayIO.hpp"
7 #include "MatrixIO.hpp"
9 
10 #include <sstream>
11 #include <yaml-cpp/yaml.h>
12 namespace lvr2
13 {
14 
15 
16 template <typename FeatureBase>
17 class ScanIO
18 {
19  public:
20  // void save(const std::string& group, const std::string& container, const std::string& metaFile, const ScanPtr& scan);
21  void saveScan(const size_t& scanPosNo, const size_t& scanNo, const ScanPtr& buffer);
22 
23  ScanPtr loadScan(const size_t& scanPosNo, const size_t& scanNo);
24  //ScanPtr load(const std::string& group, const std::string& container);
25 
26  protected:
27  bool isScan(const std::string& group);
28 
29  FeatureBase* m_featureBase = static_cast<FeatureBase*>(this);
30 
31  // dependencies
34 
35  static constexpr const char* ID = "ScanIO";
36  static constexpr const char* OBJID = "Scan";
37 };
38 
46 template <typename FeatureBase>
48 {
49 
50  // DEPS
53  using deps = typename dep1::template Merge<dep2>;
54 
55  // ADD THE FEATURE ITSELF
56  using type = typename deps::template add_features<ScanIO>::type;
57 };
58 
59 } // namespace lvr2
60 
61 #include "ScanIO.tcc"
62 
63 #endif // LVR2_IO_HDF5_SCANIO_HPP
ArrayIO.hpp
lvr2::FeatureConstruct
Helper class how to construct a IO feature with its dependencies.
Definition: FeatureBase.hpp:20
lvr2::ScanIO::saveScan
void saveScan(const size_t &scanPosNo, const size_t &scanNo, const ScanPtr &buffer)
lvr2::ScanIO
Definition: descriptions/ScanIO.hpp:17
lvr2::FeatureConstruct< ScanIO, FeatureBase >::type
typename deps::template add_features< ScanIO >::type type
Definition: descriptions/ScanIO.hpp:56
lvr2::ScanIO::m_matrixIO
MatrixIO< FeatureBase > * m_matrixIO
Definition: descriptions/ScanIO.hpp:33
lvr2::ScanIO::m_arrayIO
ArrayIO< FeatureBase > * m_arrayIO
Definition: descriptions/ScanIO.hpp:32
lvr2::ScanIO::loadScan
ScanPtr loadScan(const size_t &scanPosNo, const size_t &scanNo)
ScanTypes.hpp
lvr2::ArrayIO
Definition: descriptions/ArrayIO.hpp:11
lvr2::ScanIO::isScan
bool isScan(const std::string &group)
lvr2::ScanIO::ID
static constexpr const char * ID
Definition: descriptions/ScanIO.hpp:35
lvr2::FeatureConstruct< ScanIO, FeatureBase >::deps
typename dep1::template Merge< dep2 > deps
Definition: descriptions/ScanIO.hpp:53
lvr2::FeatureConstruct::type
typename Derived::template add_features< Feature >::type type
Definition: FeatureBase.hpp:151
lvr2::ScanIO::OBJID
static constexpr const char * OBJID
Definition: descriptions/ScanIO.hpp:36
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::FeatureConstruct< ScanIO, FeatureBase >::dep1
typename FeatureConstruct< ArrayIO, FeatureBase >::type dep1
Definition: descriptions/ScanIO.hpp:51
lvr2::MatrixIO
Definition: descriptions/MatrixIO.hpp:11
lvr2::FeatureBase
Manager Class for all FeatureBase components located in hdf5 directory.
Definition: FeatureBase.hpp:31
MatrixIO.hpp
lvr2::FeatureConstruct< ScanIO, FeatureBase >::dep2
typename FeatureConstruct< MatrixIO, FeatureBase >::type dep2
Definition: descriptions/ScanIO.hpp:52
lvr2::ScanPtr
std::shared_ptr< Scan > ScanPtr
Shared pointer to scans.
Definition: ScanTypes.hpp:98
lvr2::ScanIO::m_featureBase
FeatureBase * m_featureBase
Definition: descriptions/ScanIO.hpp:29


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:25