descriptions/PointCloudIO.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef LVR2_IO_HDF5_POINTBUFFERIO_HPP
4 #define LVR2_IO_HDF5_POINTBUFFERIO_HPP
5 
6 #include <boost/optional.hpp>
7 
9 
10 // Dependencies
11 #include "ChannelIO.hpp"
12 #include "VariantChannelIO.hpp"
13 
14 namespace lvr2 {
15 
44 template<typename FeatureBase>
46 {
47 public:
48  void savePointCloud(const std::string& group, const std::string& name, const PointBufferPtr& buffer);
49  PointBufferPtr loadPointCloud(const std::string& group, const std::string& container);
50 
51 protected:
52 
53  bool isPointCloud(const std::string& group);
54 
55  FeatureBase* m_FeatureBase = static_cast<FeatureBase*>(this);
56  // dependencies
58 
59  static constexpr const char* ID = "PointCloudIO";
60  static constexpr const char* OBJID = "PointBuffer";
61 };
62 
63 template<typename FeatureBase>
65 
66  // DEPS
68 
69  // add actual feature
70  using type = typename deps::template add_features<PointCloudIO>::type;
71 
72 };
73 
74 } // namespace lvr2
75 
76 #include "PointCloudIO.tcc"
77 
78 
79 #endif // LVR2_IO_HDF5_POINTBUFFERIO_HPP
lvr2::FeatureConstruct
Helper class how to construct a IO feature with its dependencies.
Definition: FeatureBase.hpp:20
lvr2::PointCloudIO::OBJID
static constexpr const char * OBJID
Definition: descriptions/PointCloudIO.hpp:60
lvr2::PointCloudIO::loadPointCloud
PointBufferPtr loadPointCloud(const std::string &group, const std::string &container)
lvr2::PointBufferPtr
std::shared_ptr< PointBuffer > PointBufferPtr
Definition: PointBuffer.hpp:130
lvr2::PointCloudIO::m_vchannel_io
VariantChannelIO< FeatureBase > * m_vchannel_io
Definition: descriptions/PointCloudIO.hpp:57
lvr2::FeatureConstruct< PointCloudIO, FeatureBase >::deps
typename FeatureConstruct< VariantChannelIO, FeatureBase >::type deps
Definition: descriptions/PointCloudIO.hpp:67
lvr2::PointCloudIO::isPointCloud
bool isPointCloud(const std::string &group)
lvr2::PointCloudIO
Hdf5IO Feature for handling PointBuffer related IO.
Definition: descriptions/PointCloudIO.hpp:45
lvr2::PointCloudIO::m_FeatureBase
FeatureBase * m_FeatureBase
Definition: descriptions/PointCloudIO.hpp:55
PointBuffer.hpp
VariantChannelIO.hpp
lvr2::FeatureConstruct< PointCloudIO, FeatureBase >::type
typename deps::template add_features< PointCloudIO >::type type
Definition: descriptions/PointCloudIO.hpp:70
lvr2::FeatureConstruct::type
typename Derived::template add_features< Feature >::type type
Definition: FeatureBase.hpp:151
lvr2
Definition: BaseBufferManipulators.hpp:39
ChannelIO.hpp
lvr2::PointCloudIO::ID
static constexpr const char * ID
Definition: descriptions/PointCloudIO.hpp:59
lvr2::FeatureBase
Manager Class for all FeatureBase components located in hdf5 directory.
Definition: FeatureBase.hpp:31
lvr2::PointCloudIO::savePointCloud
void savePointCloud(const std::string &group, const std::string &name, const PointBufferPtr &buffer)
lvr2::VariantChannelIO
Hdf5IO Feature for handling VariantChannel related IO.
Definition: descriptions/VariantChannelIO.hpp:54


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