Program Listing for File SoilAssistField.hpp
↰ Return to documentation for file (include/lvr2/geometry/SoilAssistField.hpp)
//
// Created by imitschke on 13.11.20.
//
#ifndef LAS_VEGAS_SOILASSISTFIELD_HPP
#define LAS_VEGAS_SOILASSISTFIELD_HPP
#include "lvr2/types/PolygonBuffer.hpp"
#include "lvr2/geometry/SoilAssistSubField.hpp"
namespace lvr2
{
class SoilAssistField {
public:
SoilAssistField();
SoilAssistField(std::string name, PolygonBufferPtr m_boundary, std::vector<SoilAssistSubFieldPtr>& subfields);
std::vector<SoilAssistSubFieldPtr> getSubFields();
PolygonBufferPtr getBoundary();
std::string getName();
void setSubFields(std::vector<SoilAssistSubFieldPtr>& fields);
void addSubField(SoilAssistSubFieldPtr field);
void setBoundary(PolygonBufferPtr boundary);
void setName(std::string name);
void fromH5File(std::string path);
private:
std::vector<SoilAssistSubFieldPtr> m_subfields;
PolygonBufferPtr m_boundary;
std::string m_name;
inline floatArr vec2Arr(std::vector<std::vector<float>> in)
{
floatArr arr(new float[in.size()*3]);
for(size_t i = 0 ; i < in.size() ; i++)
{
arr[i*3] = in[i][0];
arr[i*3+1] = in[i][1];
arr[i*3+2] = in[i][2];
}
return arr;
}
};
using SoilAssistFieldPtr = std::shared_ptr<SoilAssistField>;
}
#endif //LAS_VEGAS_SOILASSISTFIELD_HPP