hdf5/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 
20 namespace hdf5features
21 {
22 
51 template <typename Derived>
53 {
54  public:
55  void save(uint scanPos, const ScanPositionPtr& scanPositionPtr);
56  void save(HighFive::Group& group, const ScanPositionPtr& scanPositionPtr);
57 
58  ScanPositionPtr load(uint scanPos);
61 
62  protected:
63  bool isScanPosition(HighFive::Group& group);
64 
65  Derived* m_file_access = static_cast<Derived*>(this);
66  // dependencies
73 
74  static constexpr const char* ID = "ScanPositionIO";
75  static constexpr const char* OBJID = "ScanPosition";
76 };
77 
78 } // namespace hdf5features
79 
80 template <typename Derived>
81 struct Hdf5Construct<hdf5features::ScanPositionIO, Derived>
82 {
83 
84  // DEPS
90  using deps = typename dep1::template Merge<dep2>::template Merge<dep3>::template Merge<
91  dep4>::template Merge<dep5>;
92 
93  // add the feature itself
94  using type = typename deps::template add_features<hdf5features::ScanPositionIO>::type;
95 };
96 
97 } // namespace lvr2
98 
99 #include "ScanPositionIO.tcc"
100 
101 #endif // LVR2_IO_HDF5_SCANPOSITIONIO_HPP
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::dep3
typename Hdf5Construct< hdf5features::ScanIO, Derived >::type dep3
Definition: hdf5/ScanPositionIO.hpp:87
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::dep2
typename Hdf5Construct< hdf5features::MatrixIO, Derived >::type dep2
Definition: hdf5/ScanPositionIO.hpp:86
lvr2::hdf5features::HyperspectralCameraIO
Definition: hdf5/HyperspectralCameraIO.hpp:17
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::dep4
typename Hdf5Construct< hdf5features::ScanCameraIO, Derived >::type dep4
Definition: hdf5/ScanPositionIO.hpp:88
lvr2::hdf5features::ScanPositionIO::m_scanCameraIO
ScanCameraIO< Derived > * m_scanCameraIO
Definition: hdf5/ScanPositionIO.hpp:70
MatrixIO.hpp
lvr2::Hdf5Construct::type
typename Derived::template add_features< Feature >::type type
Definition: HDF5FeatureBase.hpp:165
lvr2::hdf5features::ScanPositionIO::m_scanIO
ScanIO< Derived > * m_scanIO
Definition: hdf5/ScanPositionIO.hpp:69
lvr2::hdf5features::ScanIO
Definition: hdf5/ScanIO.hpp:17
lvr2::hdf5features::ScanPositionIO::isScanPosition
bool isScanPosition(HighFive::Group &group)
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::deps
typename dep1::template Merge< dep2 >::template Merge< dep3 >::template Merge< dep4 >::template Merge< dep5 > deps
Definition: hdf5/ScanPositionIO.hpp:91
lvr2::hdf5features::ScanPositionIO::save
void save(uint scanPos, const ScanPositionPtr &scanPositionPtr)
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::dep5
typename Hdf5Construct< hdf5features::HyperspectralCameraIO, Derived >::type dep5
Definition: hdf5/ScanPositionIO.hpp:89
ScanCameraIO.hpp
lvr2::ScanPositionIO
Definition: descriptions/ScanPositionIO.hpp:49
ScanTypes.hpp
lvr2::hdf5features::ScanCameraIO
Definition: hdf5/ScanCameraIO.hpp:16
lvr2::ScanPositionPtr
std::shared_ptr< ScanPosition > ScanPositionPtr
Definition: ScanTypes.hpp:311
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::dep1
typename Hdf5Construct< hdf5features::ArrayIO, Derived >::type dep1
Definition: hdf5/ScanPositionIO.hpp:85
ScanIO.hpp
HighFive::Group
Definition: H5Group.hpp:20
lvr2::hdf5features::ScanPositionIO::m_file_access
Derived * m_file_access
Definition: hdf5/ScanPositionIO.hpp:65
lvr2::hdf5features::ScanPositionIO::m_arrayIO
ArrayIO< Derived > * m_arrayIO
Definition: hdf5/ScanPositionIO.hpp:67
lvr2::hdf5features::ScanPositionIO::load
ScanPositionPtr load(uint scanPos)
HyperspectralCameraIO.hpp
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::hdf5features::ScanPositionIO::OBJID
static constexpr const char * OBJID
Definition: hdf5/ScanPositionIO.hpp:75
lvr2::hdf5features::ScanPositionIO::m_matrixIO
MatrixIO< Derived > * m_matrixIO
Definition: hdf5/ScanPositionIO.hpp:68
lvr2::hdf5features::ScanPositionIO::ID
static constexpr const char * ID
Definition: hdf5/ScanPositionIO.hpp:74
lvr2::hdf5features::ScanPositionIO
Definition: hdf5/ScanPositionIO.hpp:52
lvr2::Hdf5Construct
Helper class how to construct a IO feature with its dependencies.
Definition: HDF5FeatureBase.hpp:27
uint
unsigned int uint
Definition: Model.hpp:46
lvr2::hdf5features::ScanPositionIO::loadScanPosition
ScanPositionPtr loadScanPosition(uint scanPos)
lvr2::hdf5features::ArrayIO
Definition: hdf5/ArrayIO.hpp:13
ArrayIO.hpp
lvr2::hdf5features::ScanPositionIO::m_hyperspectralCameraIO
HyperspectralCameraIO< Derived > * m_hyperspectralCameraIO
Definition: hdf5/ScanPositionIO.hpp:71
lvr2::hdf5features::MatrixIO
Definition: hdf5/MatrixIO.hpp:16
lvr2::Hdf5Construct< hdf5features::ScanPositionIO, Derived >::type
typename deps::template add_features< hdf5features::ScanPositionIO >::type type
Definition: hdf5/ScanPositionIO.hpp:94


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