Program Listing for File AttributeMeshIOBase.hpp
↰ Return to documentation for file (include/lvr2/io/AttributeMeshIOBase.hpp)
#ifndef LAS_VEGAS_MESHIOINTERFACE_H
#define LAS_VEGAS_MESHIOINTERFACE_H
#include <boost/shared_ptr.hpp>
#include <boost/shared_array.hpp>
#include "lvr2/geometry/Handles.hpp"
#include "lvr2/attrmaps/AttrMaps.hpp"
#include "lvr2/geometry/BaseVector.hpp"
#include "lvr2/geometry/Normal.hpp"
#include "lvr2/types/BaseBuffer.hpp"
#include "lvr2/geometry/HalfEdgeMesh.hpp"
#include "lvr2/io/GroupedChannelIO.hpp"
#include "lvr2/io/MeshGeometryIO.hpp"
namespace lvr2{
using BaseVec = BaseVector<float>;
class AttributeMeshIOBase : public MeshGeometryIO, public GroupedChannelIO
{
public:
bool addMesh(const HalfEdgeMesh<BaseVec>& hem);
boost::optional<HalfEdgeMesh<BaseVec>> getMesh();
template<typename MapT, typename BaseVecT>
bool addDenseAttributeMap(const BaseMesh<BaseVecT>& mesh, const MapT& map, const std::string& name);
template<typename MapT>
bool addDenseAttributeMap(const MapT& map, const std::string& name);
template <typename MapT>
boost::optional<MapT> getDenseAttributeMap(const std::string& name);
template<typename MapT>
bool addAttributeMap(const MapT& map, const std::string& name);
template<typename MapT>
boost::optional<MapT> getAttributeMap(const std::string& name);
};
}
#include "AttributeMeshIOBase.tcc"
#endif //LAS_VEGAS_MESHIOINTERFACE_H