OGS
MeshRevision.h
Go to the documentation of this file.
1
15
#pragma once
16
17
#include <array>
18
#include <limits>
19
#include <string>
20
#include <vector>
21
22
// forward declaration
23
namespace
MeshLib
24
{
25
class
Mesh;
26
class
Node
;
27
}
// namespace MeshLib
28
29
namespace
MeshToolsLib
30
{
35
class
MeshRevision
36
{
37
public
:
44
explicit
MeshRevision
(
MeshLib::Mesh
& mesh);
45
47
unsigned
getNumberOfCollapsibleNodes
(
48
double
eps = std::numeric_limits<double>::epsilon())
const
;
49
52
std::vector<std::size_t>
collapseNodeIndices
(
double
eps)
const
;
53
65
MeshLib::Mesh
*
simplifyMesh
(
const
std::string& new_mesh_name,
double
eps,
66
unsigned
min_elem_dim = 1)
const
;
67
68
private
:
71
std::vector<MeshLib::Node*>
constructNewNodesArray
(
72
const
std::vector<std::size_t>& id_map)
const
;
73
75
MeshLib::Mesh
&
_mesh
;
76
};
77
78
}
// namespace MeshToolsLib
MeshLib::Mesh
Definition
Mesh.h:43
MeshToolsLib::MeshRevision
Definition
MeshRevision.h:36
MeshToolsLib::MeshRevision::MeshRevision
MeshRevision(MeshLib::Mesh &mesh)
Definition
MeshRevision.cpp:1005
MeshToolsLib::MeshRevision::getNumberOfCollapsibleNodes
unsigned getNumberOfCollapsibleNodes(double eps=std::numeric_limits< double >::epsilon()) const
Returns the number of potentially collapsible nodes.
Definition
MeshRevision.cpp:1007
MeshToolsLib::MeshRevision::_mesh
MeshLib::Mesh & _mesh
The original mesh used for constructing the class.
Definition
MeshRevision.h:75
MeshToolsLib::MeshRevision::simplifyMesh
MeshLib::Mesh * simplifyMesh(const std::string &new_mesh_name, double eps, unsigned min_elem_dim=1) const
Definition
MeshRevision.cpp:1022
MeshToolsLib::MeshRevision::constructNewNodesArray
std::vector< MeshLib::Node * > constructNewNodesArray(const std::vector< std::size_t > &id_map) const
Definition
MeshRevision.cpp:1150
MeshToolsLib::MeshRevision::collapseNodeIndices
std::vector< std::size_t > collapseNodeIndices(double eps) const
Definition
MeshRevision.cpp:1094
MeshLib
Definition
ProjectData.h:41
MeshLib::MeshItemType::Node
@ Node
MeshToolsLib
Definition
Node.h:29
MeshToolsLib
MeshEditing
MeshRevision.h
Generated by
1.12.0