PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
OpenVolumeMeshInterface.hpp
Go to the documentation of this file.
1// _LICENSE_HEADER_
2//
3// Copyright (C) 2019 - 2025.
4// Terms register on the GPL-3.0 license.
5//
6// This file can be redistributed and/or modified under the license terms.
7//
8// See top level LICENSE file for more details.
9//
10// This file can be used citing references in CITATION.cff file.
11
12#ifndef __OpenVolumeMeshInterface_H
13#define __OpenVolumeMeshInterface_H
14
15#include "IMeshDAO.hpp"
16
17namespace Gedim
18{
20{
21 public:
23 {
25 {
26 std::vector<unsigned int> FacesIndex;
27 std::vector<bool> FacesOrientation;
28 };
29
30 unsigned int NumCell0Ds;
31 unsigned int NumCell1Ds;
32 unsigned int NumCell2Ds;
33 unsigned int NumCell3Ds;
34
35 Eigen::MatrixXd Cell0Ds;
36 Eigen::MatrixXi Cell1Ds;
37 std::vector<Eigen::MatrixXi> Cell2Ds;
38 std::vector<Cell3D> Cell3Ds;
39 };
40
43
44 OVMMesh StringsToOVMMesh(const std::vector<std::string> &fileLines) const;
45 std::vector<std::string> OVMMeshToStrings(const OVMMesh &mesh) const;
46 OVMMesh MeshDAOToOVMMesh(const IMeshDAO &originalMesh, const std::vector<std::vector<bool>> &cell3DsFacesOrientation) const;
49 std::vector<std::vector<bool>> &convertedMeshCell3DsFacesOrientation) const;
50
51 void ImportMeshFromFile(const std::string &ovmFilePath, IMeshDAO &mesh, std::vector<std::vector<bool>> &meshCell3DsFacesOrientation) const;
52
53 void ExportMeshToFile(const IMeshDAO &mesh,
54 const std::vector<std::vector<bool>> &meshCell3DsFacesOrientation,
55 const std::string &ovmFilePath) const;
56};
57} // namespace Gedim
58
59#endif // __OpenVolumeMeshInterface_H
Eigen column vector.
Definition Eigen_Array.hpp:23
The IMeshDAO (mesh data access object) class to read and write mesh data.
Definition IMeshDAO.hpp:24
Definition OpenVolumeMeshInterface.hpp:20
void ImportMeshFromFile(const std::string &ovmFilePath, IMeshDAO &mesh, std::vector< std::vector< bool > > &meshCell3DsFacesOrientation) const
Definition OpenVolumeMeshInterface.cpp:356
void OVMMeshToMeshDAO(const OVMMesh &originalMesh, IMeshDAO &convertedMesh, std::vector< std::vector< bool > > &convertedMeshCell3DsFacesOrientation) const
Definition OpenVolumeMeshInterface.cpp:229
OVMMesh StringsToOVMMesh(const std::vector< std::string > &fileLines) const
Definition OpenVolumeMeshInterface.cpp:28
OVMMesh MeshDAOToOVMMesh(const IMeshDAO &originalMesh, const std::vector< std::vector< bool > > &cell3DsFacesOrientation) const
Definition OpenVolumeMeshInterface.cpp:176
void ExportMeshToFile(const IMeshDAO &mesh, const std::vector< std::vector< bool > > &meshCell3DsFacesOrientation, const std::string &ovmFilePath) const
Definition OpenVolumeMeshInterface.cpp:376
~OpenVolumeMeshInterface()
Definition OpenVolumeMeshInterface.cpp:24
OpenVolumeMeshInterface()
Definition OpenVolumeMeshInterface.cpp:21
std::vector< std::string > OVMMeshToStrings(const OVMMesh &mesh) const
Definition OpenVolumeMeshInterface.cpp:119
Definition Eigen_Array.cpp:22
Definition OpenVolumeMeshInterface.hpp:25
std::vector< unsigned int > FacesIndex
Definition OpenVolumeMeshInterface.hpp:26
std::vector< bool > FacesOrientation
Definition OpenVolumeMeshInterface.hpp:27
Definition OpenVolumeMeshInterface.hpp:23
std::vector< Cell3D > Cell3Ds
Definition OpenVolumeMeshInterface.hpp:38
Eigen::MatrixXd Cell0Ds
Definition OpenVolumeMeshInterface.hpp:35
unsigned int NumCell3Ds
Definition OpenVolumeMeshInterface.hpp:33
unsigned int NumCell0Ds
Definition OpenVolumeMeshInterface.hpp:30
std::vector< Eigen::MatrixXi > Cell2Ds
Definition OpenVolumeMeshInterface.hpp:37
unsigned int NumCell1Ds
Definition OpenVolumeMeshInterface.hpp:31
unsigned int NumCell2Ds
Definition OpenVolumeMeshInterface.hpp:32
Eigen::MatrixXi Cell1Ds
Definition OpenVolumeMeshInterface.hpp:36