descriptions/ScanPositionIO.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef LVR2_IO_HDF5_SCANPOSITIONIO_HPP
4 #define LVR2_IO_HDF5_SCANPOSITIONIO_HPP
5 
7 
8 #include <boost/optional.hpp>
9 
10 // Dependencies
11 #include "ArrayIO.hpp"
13 #include "MatrixIO.hpp"
14 #include "ScanCameraIO.hpp"
15 #include "ScanIO.hpp"
16 
17 namespace lvr2
18 {
19 
48 template <typename FeatureBase>
50 {
51  public:
52  void saveScanPosition(const size_t& scanPosNo, const ScanPositionPtr& scanPositionPtr);
53  // void save(
54  // const std::string group&,
55  // const ScanPositionPtr& scanPositionPtr);
56 
57  ScanPositionPtr loadScanPosition(const size_t& scanPosNo);
58  //ScanPositionPtr load(const std::string& group, const std::string& container);
59 
60  protected:
61  bool isScanPosition(const std::string& group);
62 
63  FeatureBase* m_featureBase = static_cast<FeatureBase*>(this);
64  // dependencies
71 
72  static constexpr const char* ID = "ScanPositionIO";
73  static constexpr const char* OBJID = "ScanPosition";
74 };
75 
76 template <typename FeatureBase>
78 {
79 
80  // DEPS
86  using deps = typename dep1::template Merge<dep2>::template Merge<dep3>::template Merge<
87  dep4>::template Merge<dep5>;
88 
89  // add the feature itself
90  using type = typename deps::template add_features<ScanPositionIO>::type;
91 };
92 
93 } // namespace lvr2
94 
95 #include "ScanPositionIO.tcc"
96 
97 #endif // LVR2_IO_HDF5_SCANPOSITIONIO_HPP
ArrayIO.hpp
lvr2::FeatureConstruct
Helper class how to construct a IO feature with its dependencies.
Definition: FeatureBase.hpp:20
lvr2::ScanCameraIO
Definition: descriptions/ScanCameraIO.hpp:13
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::dep1
typename FeatureConstruct< ArrayIO, FeatureBase >::type dep1
Definition: descriptions/ScanPositionIO.hpp:81
lvr2::ScanIO
Definition: descriptions/ScanIO.hpp:17
lvr2::ScanPositionIO::m_arrayIO
ArrayIO< FeatureBase > * m_arrayIO
Definition: descriptions/ScanPositionIO.hpp:65
ScanIO.hpp
lvr2::HyperspectralCameraIO
Definition: descriptions/HyperspectralCameraIO.hpp:14
HyperspectralCameraIO.hpp
lvr2::ScanPositionIO::ID
static constexpr const char * ID
Definition: descriptions/ScanPositionIO.hpp:72
lvr2::ScanPositionIO
Definition: descriptions/ScanPositionIO.hpp:49
lvr2::ScanPositionIO::m_matrixIO
MatrixIO< FeatureBase > * m_matrixIO
Definition: descriptions/ScanPositionIO.hpp:66
ScanTypes.hpp
lvr2::ScanPositionIO::m_scanIO
ScanIO< FeatureBase > * m_scanIO
Definition: descriptions/ScanPositionIO.hpp:67
lvr2::ArrayIO
Definition: descriptions/ArrayIO.hpp:11
lvr2::ScanPositionIO::OBJID
static constexpr const char * OBJID
Definition: descriptions/ScanPositionIO.hpp:73
lvr2::ScanPositionIO::isScanPosition
bool isScanPosition(const std::string &group)
lvr2::ScanPositionPtr
std::shared_ptr< ScanPosition > ScanPositionPtr
Definition: ScanTypes.hpp:311
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::dep2
typename FeatureConstruct< MatrixIO, FeatureBase >::type dep2
Definition: descriptions/ScanPositionIO.hpp:82
lvr2::ScanPositionIO::saveScanPosition
void saveScanPosition(const size_t &scanPosNo, const ScanPositionPtr &scanPositionPtr)
lvr2::ScanPositionIO::loadScanPosition
ScanPositionPtr loadScanPosition(const size_t &scanPosNo)
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::dep4
typename FeatureConstruct< ScanCameraIO, FeatureBase >::type dep4
Definition: descriptions/ScanPositionIO.hpp:84
ScanCameraIO.hpp
lvr2::ScanPositionIO::m_scanCameraIO
ScanCameraIO< FeatureBase > * m_scanCameraIO
Definition: descriptions/ScanPositionIO.hpp:68
lvr2::ScanPositionIO::m_featureBase
FeatureBase * m_featureBase
Definition: descriptions/ScanPositionIO.hpp:63
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::type
typename deps::template add_features< ScanPositionIO >::type type
Definition: descriptions/ScanPositionIO.hpp:90
lvr2::FeatureConstruct::type
typename Derived::template add_features< Feature >::type type
Definition: FeatureBase.hpp:151
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::dep5
typename FeatureConstruct< HyperspectralCameraIO, FeatureBase >::type dep5
Definition: descriptions/ScanPositionIO.hpp:85
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::MatrixIO
Definition: descriptions/MatrixIO.hpp:11
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::dep3
typename FeatureConstruct< ScanIO, FeatureBase >::type dep3
Definition: descriptions/ScanPositionIO.hpp:83
lvr2::FeatureBase
Manager Class for all FeatureBase components located in hdf5 directory.
Definition: FeatureBase.hpp:31
MatrixIO.hpp
lvr2::ScanPositionIO::m_hyperspectralCameraIO
HyperspectralCameraIO< FeatureBase > * m_hyperspectralCameraIO
Definition: descriptions/ScanPositionIO.hpp:69
lvr2::FeatureConstruct< ScanPositionIO, FeatureBase >::deps
typename dep1::template Merge< dep2 >::template Merge< dep3 >::template Merge< dep4 >::template Merge< dep5 > deps
Definition: descriptions/ScanPositionIO.hpp:87


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