6#include <nlohmann/json.hpp>
24using DataMatrix = Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>;
25using AttributeValues = std::variant<DataMatrix<double>, DataMatrix<int64_t>, DataMatrix<uint8_t>>;
29 AttributeValues values = DataMatrix<double>();
31 std::vector<std::string> labels;
33 Eigen::Index rows()
const;
34 Eigen::Index cols()
const;
35 DataMatrix<double> doubles()
const;
36 DataMatrix<int64_t> integers()
const;
38using MeshAttributes = std::map<std::string, MeshAttribute>;
42 DataMatrix<int64_t> connectivity;
43 MeshAttributes attributes;
49 DataMatrix<double> V{0, 3};
50 MeshAttributes vertex_attributes;
51 std::map<CellType, CellData> cells;
53 void validate()
const;
54 const CellData& cell(CellType type)
const;
57using MeshMap = std::map<std::string, MeshData>;
58using ComponentResult = std::pair<MeshMap, nlohmann::json>;
60int cell_size(CellType type);
61int cell_dimension(CellType type);
Definition MeshData.hpp:41
Definition MeshData.hpp:28
Definition MeshData.hpp:48