hdf5/ScanImageIO.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef LVR2_IO_HDF5_SCANIMAGEIO_HPP
4 #define LVR2_IO_HDF5_SCANIMAGEIO_HPP
5 
6 #include "ImageIO.hpp"
7 #include "MatrixIO.hpp"
9 
10 namespace lvr2
11 {
12 
13 namespace hdf5features
14 {
15 
16 template <typename Derived>
18 {
19  public:
20  void save(const std::string& , const ScanImagePtr& buffer);
21 
22  void save(uint scanPos,
23  uint camNr,
24  uint imgNr,
25  const ScanImagePtr& scanImagePtr);
26 
27  void save(HighFive::Group& group, uint camNr, uint imgNr, const ScanImagePtr& buffer);
28  void save(HighFive::Group& group, uint imgNr, const ScanImagePtr& buffer);
29  void save(HighFive::Group& group, const ScanImagePtr& buffer);
30 
31  ScanImagePtr load(uint scanPos, uint camNr, uint imgNr);
32  ScanImagePtr load(HighFive::Group& group, uint camNr, uint imgNr);
33  ScanImagePtr load(HighFive::Group& group, uint imgNr);
35 
36  protected:
37  bool isScanImage(HighFive::Group& group);
38 
39  Derived* m_file_access = static_cast<Derived*>(this);
40 
41  // dependencies
44 
45  static constexpr const char* ID = "ScanImageIO";
46  static constexpr const char* OBJID = "ScanImage";
47 };
48 
49 } // namespace hdf5features
50 
58 template <typename Derived>
59 struct Hdf5Construct<hdf5features::ScanImageIO, Derived>
60 {
61  // DEPS
64  using deps = typename dep1::template Merge<dep2>;
65 
66  // ADD THE FEATURE ITSELF
67  using type = typename deps::template add_features<hdf5features::ScanImageIO>::type;
68 };
69 
70 } // namespace lvr2
71 
72 #include "ScanImageIO.tcc"
73 
74 #endif // LVR2_IO_HDF5_SCANIMAGEIO_HPP
lvr2::hdf5features::ImageIO
Definition: hdf5/ImageIO.hpp:18
lvr2::Hdf5Construct< hdf5features::ScanImageIO, Derived >::type
typename deps::template add_features< hdf5features::ScanImageIO >::type type
Definition: hdf5/ScanImageIO.hpp:67
lvr2::ScanImagePtr
std::shared_ptr< ScanImage > ScanImagePtr
Definition: ScanTypes.hpp:127
MatrixIO.hpp
lvr2::Hdf5Construct::type
typename Derived::template add_features< Feature >::type type
Definition: HDF5FeatureBase.hpp:165
lvr2::hdf5features::ScanImageIO::m_file_access
Derived * m_file_access
Definition: hdf5/ScanImageIO.hpp:39
lvr2::hdf5features::ScanImageIO
Definition: hdf5/ScanImageIO.hpp:17
lvr2::Hdf5Construct< hdf5features::ScanImageIO, Derived >::dep2
typename Hdf5Construct< hdf5features::MatrixIO, Derived >::type dep2
Definition: hdf5/ScanImageIO.hpp:63
lvr2::hdf5features::ScanImageIO::ID
static constexpr const char * ID
Definition: hdf5/ScanImageIO.hpp:45
ScanTypes.hpp
lvr2::Hdf5Construct< hdf5features::ScanImageIO, Derived >::dep1
typename Hdf5Construct< hdf5features::ImageIO, Derived >::type dep1
Definition: hdf5/ScanImageIO.hpp:62
lvr2::hdf5features::ScanImageIO::m_imageIO
ImageIO< Derived > * m_imageIO
Definition: hdf5/ScanImageIO.hpp:42
HighFive::Group
Definition: H5Group.hpp:20
lvr2::hdf5features::ScanImageIO::m_matrixIO
MatrixIO< Derived > * m_matrixIO
Definition: hdf5/ScanImageIO.hpp:43
ImageIO.hpp
lvr2::hdf5features::ScanImageIO::save
void save(const std::string &, const ScanImagePtr &buffer)
lvr2::ScanImageIO
Definition: descriptions/ScanImageIO.hpp:14
lvr2::hdf5features::ScanImageIO::isScanImage
bool isScanImage(HighFive::Group &group)
lvr2
Definition: BaseBufferManipulators.hpp:39
lvr2::hdf5features::ScanImageIO::OBJID
static constexpr const char * OBJID
Definition: hdf5/ScanImageIO.hpp:46
lvr2::Hdf5Construct< hdf5features::ScanImageIO, Derived >::deps
typename dep1::template Merge< dep2 > deps
Definition: hdf5/ScanImageIO.hpp:64
lvr2::hdf5features::ScanImageIO::load
ScanImagePtr load(uint scanPos, uint camNr, uint imgNr)
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::MatrixIO
Definition: hdf5/MatrixIO.hpp:16


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