OGS
|
A set of tools concerned with extracting nodes and elements from a mesh surface.
Definition at line 38 of file MeshSurfaceExtraction.h.
#include <MeshSurfaceExtraction.h>
Static Public Member Functions | |
static std::vector< double > | getSurfaceAreaForNodes (const MeshLib::Mesh &mesh) |
Returns a vector of the areas assigned to each node on a surface mesh. | |
static std::vector< MeshLib::Node * > | getSurfaceNodes (const MeshLib::Mesh &mesh, Eigen::Vector3d const &dir, double angle) |
Returns the surface nodes of a mesh. | |
static MeshLib::Mesh * | getMeshSurface (const MeshLib::Mesh &subsfc_mesh, Eigen::Vector3d const &dir, double angle, std::string_view subsfc_node_id_prop_name="", std::string_view subsfc_element_id_prop_name="", std::string_view face_id_prop_name="") |
Static Private Member Functions | |
static void | get2DSurfaceElements (const std::vector< MeshLib::Element * > &all_elements, std::vector< MeshLib::Element * > &sfc_elements, std::vector< std::size_t > &element_to_bulk_element_id_map, std::vector< std::size_t > &element_to_bulk_face_id_map, Eigen::Vector3d const &dir, double angle, unsigned mesh_dimension) |
Functionality needed for getSurfaceNodes() and getMeshSurface() | |
|
staticprivate |
Functionality needed for getSurfaceNodes() and getMeshSurface()
Definition at line 300 of file MeshSurfaceExtraction.cpp.
References DBUG(), ERR(), MeshLib::FaceRule::getSurfaceNormal(), MeshLib::QUAD4, MeshLib::QUAD8, MeshLib::QUAD9, MeshLib::TRI3, and MeshLib::TRI6.
Referenced by getMeshSurface(), and getSurfaceNodes().
|
static |
Returns the 2d-element mesh representing the surface of the given mesh.
subsfc_mesh | The original mesh |
dir | The direction in which face normals have to point to be considered surface elements |
angle | The angle of the allowed deviation from the given direction (0 <= angle <= 90 degrees) |
subsfc_node_id_prop_name | The name of the PropertyVector in the surface mesh the subsurface mesh node ids are stored to. If the string is empty, there won't be such a PropertyVector . |
subsfc_element_id_prop_name | The name of the PropertyVector in the surface mesh that stores the subsurface element ids. If the string is empty, there won't be such a PropertyVector . |
face_id_prop_name | The name of the PropertyVector in the surface mesh that stores the face number of the subsurface element that belongs to the boundary. If the string is empty, there won't be such a PropertyVector . |
Definition at line 244 of file MeshSurfaceExtraction.cpp.
References MeshToolsLib::addBulkIDPropertiesToMesh(), MeshLib::copyElementVector(), MeshToolsLib::createNodesAndIDMapFromElements(), MeshToolsLib::createSfcMeshProperties(), ERR(), get2DSurfaceElements(), MeshLib::Mesh::getDimension(), MeshLib::Mesh::getElements(), MeshLib::Mesh::getName(), MeshLib::Mesh::getNumberOfNodes(), MeshLib::Mesh::getProperties(), MeshLib::views::ids, and INFO().
Referenced by MeshToolsLib::addLayerToMesh(), MeshGeoToolsLib::GeoMapper::advancedMapOnMesh(), DirectConditionGenerator::directWithSurfaceIntegration(), MeshView::extractSurfaceMesh(), main(), and MeshGeoToolsLib::GeoMapper::mapOnMesh().
|
static |
Returns a vector of the areas assigned to each node on a surface mesh.
Definition at line 202 of file MeshSurfaceExtraction.cpp.
References ERR(), MeshLib::Mesh::getDimension(), MeshLib::Mesh::getElementsConnectedToNode(), MeshLib::Element::getGeomType(), MeshLib::Mesh::getNodes(), MeshLib::Mesh::getNumberOfNodes(), INFO(), and MeshLib::TRIANGLE.
Referenced by DirectConditionGenerator::directWithSurfaceIntegration(), and main().
|
static |
Returns the surface nodes of a mesh.
Definition at line 396 of file MeshSurfaceExtraction.cpp.
References MeshToolsLib::createNodesAndIDMapFromElements(), get2DSurfaceElements(), MeshLib::Mesh::getDimension(), MeshLib::Mesh::getElements(), MeshLib::Mesh::getNumberOfNodes(), and INFO().
Referenced by DirectConditionGenerator::directToSurfaceNodes(), and main().