You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
2.2 KiB

#pragma once
#include <string>
#include <vector>
#include "sha-base-framework/declarations.h"
#include "sha-base-framework/frame.h"
#include "sha-surface-mesh/matmesh.h"
#include "sha-surface-mesh/mesh3.h"
#include "sha-volume-mesh/matmesh.h"
namespace da {
namespace sha {
SurfaceMesh3 ReadSurfaceMesh3FromOFF(const fs_path &file_path);
SurfaceMesh3 ReadSurfaceMesh3FromOBJ(const fs_path &file_path);
MatMesh3 ReadMatMeshFromOBJ(const fs_path &file_path);
MatMesh3 ReadMatMeshFromSTL(const fs_path &file_path);
MatMesh3 ReadMatMeshFromPLY(const fs_path &file_path);
void WriteMatMesh3ToObj(const fs_path &file_path, const MatMesh3 &matmesh,
const Eigen::MatrixXd &mat_vtx_colors);
void WriteToVtk(const fs_path &file_path, const Eigen::MatrixXd &mat_coordinates,
const Eigen::MatrixXi &mat_cells, const std::vector<double> &point_data,
const std::vector<double> &cell_data, int cell_type);
void WriteMatMesh3ToVtk(const fs_path &file_path, const MatMesh3 &matmesh,
const std::vector<double> &point_data = {},
const std::vector<double> &cell_data = {});
void WriteMatMesh2ToVtk(const fs_path &file_path, const MatMesh2 &matmesh,
const std::vector<double> &point_data = {},
const std::vector<double> &cell_data = {});
void WritePointsToVtk(const fs_path &file_path, const Eigen::MatrixXd &mat_points,
const std::vector<double> &point_data = {});
void WriteTetrahedralMatmeshToVtk(const fs_path &file_path, const TetrahedralMatMesh &matmesh,
const std::vector<double> &point_data = {},
const std::vector<double> &cell_data = {});
void WriteHexahedralMatmeshToVtk(const fs_path &file_path, const HexahedralMatMesh &matmesh,
const std::vector<double> &point_data = {},
const std::vector<double> &cell_data = {});
void ReadFromVtk(const fs_path &file_path, Eigen::MatrixXd &mat_coordinates,
Eigen::MatrixXi &mat_cells, const size_t cell_size);
TetrahedralMatMesh ReadTetrahedralMatMeshFromVtk(const fs_path &file_path);
} // namespace sha
} // namespace da