3 #ifndef LVR2_IO_HDF5_MESHIO_HPP 4 #define LVR2_IO_HDF5_MESHIO_HPP 6 #include <boost/optional.hpp> 20 namespace hdf5features {
51 template<
typename Derived>
74 static constexpr
const char*
ID =
"MeshIO";
75 static constexpr
const char*
OBJID =
"MeshBuffer";
103 template <
typename T>
133 template <
typename T>
177 template<
typename Derived>
183 using deps =
typename dep1::template Merge<dep2>;
186 using type =
typename deps::template add_features<hdf5features::MeshIO>::type;
192 #include "MeshIO.tcc" 194 #endif // LVR2_IO_HDF5_MESHIO_HPP typename deps::template add_features< hdf5features::MeshIO >::type type
bool addChannel(const std::string group, const std::string name, const AttributeChannel< T > &channel)
std::shared_ptr< MeshBuffer > MeshBufferPtr
static constexpr const char * OBJID
bool isMesh(HighFive::Group &group)
typename Hdf5Construct< hdf5features::VariantChannelIO, Derived >::type dep1
UCharChannel::Optional UCharChannelOptional
typename Hdf5Construct< hdf5features::ArrayIO, Derived >::type dep2
Helper class how to construct a IO feature with its dependencies.
bool addVertices(const FloatChannel &channel_ptr)
Persistence layer interface, Writes the vertices of the mesh to the persistence layer.
Hdf5IO Feature for handling MeshBuffer related IO.
bool addIndices(const IndexChannel &channel_ptr)
Persistence layer interface, Writes the face indices of the mesh to the persistence layer...
bool getChannel(const std::string group, const std::string name, boost::optional< AttributeChannel< T >> &channel)
IndexChannelOptional getIndices()
Persistence layer interface, Accesses the face indices of the mesh in the persistence layer...
MeshBufferPtr load(std::string name)
FloatChannel::Optional FloatChannelOptional
static constexpr const char * ID
ArrayIO< Derived > * m_array_io
Hdf5IO Feature for handling VariantChannel related IO.
IndexChannel::Optional IndexChannelOptional
typename Derived::template add_features< Feature >::type type
FloatChannelOptional getVertices()
Persistence layer interface, Accesses the vertices of the mesh in the persistence layer...
MeshBufferPtr loadMesh(std::string name)
void setMeshName(std::string meshName)
VariantChannelIO< Derived > * m_vchannel_io
void save(std::string name, const MeshBufferPtr &buffer)
typename dep1::template Merge< dep2 > deps