PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
WavefrontOBJInterface.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 __WavefrontOBJInterface_H
13#define __WavefrontOBJInterface_H
14
15#include "IMeshDAO.hpp"
16#include "MeshUtilities.hpp"
17
18namespace Gedim
19{
21{
22 public:
24 {
25 unsigned int NumCell0Ds;
26 unsigned int NumCell1Ds;
27 unsigned int NumCell2Ds;
28
29 Eigen::MatrixXd Cell0Ds;
30 std::vector<Eigen::VectorXi> Cell2Ds;
31 };
32
35
36 OBJMesh StringsToOBJMesh(const std::vector<std::string> &fileLines) const;
37 std::vector<std::string> OBJMeshToStrings(const OBJMesh &mesh) const;
39 void OBJMeshToMeshDAO(const OBJMesh &originalMesh, const MeshUtilities &meshUtilities, IMeshDAO &convertedMesh) const;
40
41 std::vector<std::string> ImportMeshFromFile(const std::string &OBJFilePath, const MeshUtilities &meshUtilities, IMeshDAO &mesh) const;
42
43 void ExportMeshToFile(const IMeshDAO &mesh, const std::string &OBJFilePath) const;
44};
45} // namespace Gedim
46
47#endif // __ObjectFileFormatInterface_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
MeshUtilities.
Definition MeshUtilities.hpp:23
Definition WavefrontOBJInterface.hpp:21
void OBJMeshToMeshDAO(const OBJMesh &originalMesh, const MeshUtilities &meshUtilities, IMeshDAO &convertedMesh) const
Definition WavefrontOBJInterface.cpp:151
std::vector< std::string > ImportMeshFromFile(const std::string &OBJFilePath, const MeshUtilities &meshUtilities, IMeshDAO &mesh) const
Definition WavefrontOBJInterface.cpp:199
void ExportMeshToFile(const IMeshDAO &mesh, const std::string &OBJFilePath) const
Definition WavefrontOBJInterface.cpp:221
WavefrontOBJInterface()
Definition WavefrontOBJInterface.cpp:21
OBJMesh StringsToOBJMesh(const std::vector< std::string > &fileLines) const
Definition WavefrontOBJInterface.cpp:28
OBJMesh MeshDAOToOBJMesh(const IMeshDAO &originalMesh) const
Definition WavefrontOBJInterface.cpp:129
std::vector< std::string > OBJMeshToStrings(const OBJMesh &mesh) const
Definition WavefrontOBJInterface.cpp:100
~WavefrontOBJInterface()
Definition WavefrontOBJInterface.cpp:24
Definition Eigen_Array.cpp:22
Definition WavefrontOBJInterface.hpp:24
unsigned int NumCell0Ds
Definition WavefrontOBJInterface.hpp:25
std::vector< Eigen::VectorXi > Cell2Ds
Definition WavefrontOBJInterface.hpp:30
Eigen::MatrixXd Cell0Ds
Definition WavefrontOBJInterface.hpp:29
unsigned int NumCell2Ds
Definition WavefrontOBJInterface.hpp:27
unsigned int NumCell1Ds
Definition WavefrontOBJInterface.hpp:26