Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
TriangularMesh.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8#ifndef model_TriangularMesh_H_
9#define model_TriangularMesh_H_
10
11#include <deque>
12#include <Eigen/Dense>
13#include <iostream>
14#include <triangle.h>
15
16namespace model
17{
18
19 class TriangularMesh : public std::deque<Eigen::Vector2d>
20 /* */,public std::deque<Eigen::Vector3i>
21
22 {
23
24
25
26
27 public:
28
29 const Eigen::Vector2d& vertex(const size_t& vID);
30 std::deque<Eigen::Vector2d>& vertices();
31 const std::deque<Eigen::Vector2d>& vertices() const;
32 std::deque<Eigen::Vector3i>& triangles();
33 const std::deque<Eigen::Vector3i>& triangles() const;
34 void reMesh(const std::deque<Eigen::Matrix<double,2,1>>& boundaryPts,
35 const std::deque<Eigen::Matrix<double,2,1>>& internalPts,
36 const double& meshSize,
37 const std::string& flags);
38 void reMesh(const std::vector<Eigen::Matrix<double,2,1>>& points,
39 const std::vector<Eigen::Matrix<int,2,1>>& segments,
40 const double& meshSize,
41 const std::string& flags);
42
43
44 };
45
46} // namespace model
47#endif
void reMesh(const std::deque< Eigen::Matrix< double, 2, 1 > > &boundaryPts, const std::deque< Eigen::Matrix< double, 2, 1 > > &internalPts, const double &meshSize, const std::string &flags)
std::deque< Eigen::Vector2d > & vertices()
std::deque< Eigen::Vector3i > & triangles()
REAL * vertex
Definition triangle.cpp:542