PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
TriangleInterface.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 __TriangleInterface_H
13#define __TriangleInterface_H
14
15#include "Eigen/Eigen"
16#include "Gedim_Macro.hpp"
17
18#if ENABLE_TRIANGLE == 1
19#include "mytriangle.hpp"
20#endif
21
22#include "IMeshDAO.hpp"
23
24namespace Gedim
25{
27{
28 private:
29#if ENABLE_TRIANGLE == 1
30 void CreateTriangleInput(const Eigen::MatrixXd &polygonVertices,
32 const Eigen::MatrixXd &constrainedPoints = Eigen::MatrixXd(),
33 const Eigen::MatrixXi &constrainedSegments = Eigen::MatrixXi()) const;
34 void CreateTriangleOutput(const double &maxTriangleArea,
37 const std::string &triangleOptions = "-QDzpqnea") const;
38
40
42
44 const struct triangulateio &triangleOutput,
45 const std::string &nameFolder,
46 const std::string &nameFile) const;
47#endif
48 public:
51
52 void ExportMesh(const Eigen::MatrixXd &polygonVertices,
53 const double &maxTriangleArea,
54 const std::string &folder_name,
55 const std::string &file_name,
56 const std::string &triangleOptions = "-QDzpqnea") const;
57
58 void CreateMesh(const Eigen::MatrixXd &polygonVertices,
59 const double &maxTriangleArea,
61 const std::string &triangleOptions = "-QDzpqnea") const;
62};
63} // namespace Gedim
64
65#endif // __TriangleInterface_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 TriangleInterface.hpp:27
void CreateMesh(const Eigen::MatrixXd &polygonVertices, const double &maxTriangleArea, Gedim::IMeshDAO &mesh, const std::string &triangleOptions="-QDzpqnea") const
Definition TriangleInterface.cpp:59
~TriangleInterface()
Definition TriangleInterface.cpp:29
TriangleInterface()
Definition TriangleInterface.cpp:26
void ExportMesh(const Eigen::MatrixXd &polygonVertices, const double &maxTriangleArea, const std::string &folder_name, const std::string &file_name, const std::string &triangleOptions="-QDzpqnea") const
Definition TriangleInterface.cpp:33
Definition Eigen_Array.cpp:22