OGS
|
A set of tools concerned with extracting nodes and elements from a mesh surface.
Definition at line 36 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. More... | |
static std::vector< MeshLib::Node * > | getSurfaceNodes (const MeshLib::Mesh &mesh, Eigen::Vector3d const &dir, double angle) |
Returns the surface nodes of a mesh. More... | |
static MeshLib::Mesh * | getMeshSurface (const MeshLib::Mesh &subsfc_mesh, Eigen::Vector3d const &dir, double angle, std::string const &subsfc_node_id_prop_name="", std::string const &subsfc_element_id_prop_name="", std::string const &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() More... | |
|
staticprivate |
Functionality needed for getSurfaceNodes() and getMeshSurface()
Definition at line 285 of file MeshSurfaceExtraction.cpp.
References ERR(), MeshLib::FaceRule::getSurfaceNormal(), and MeshLib::TRIANGLE.
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 229 of file MeshSurfaceExtraction.cpp.
References MeshLib::addBulkIDPropertiesToMesh(), MeshLib::copyElementVector(), MeshLib::createNodesAndIDMapFromElements(), MeshLib::createSfcMeshProperties(), ERR(), get2DSurfaceElements(), MeshLib::Mesh::getDimension(), MeshLib::Mesh::getElements(), MathLib::Point3dWithID::getID(), MeshLib::Mesh::getName(), MeshLib::Mesh::getNumberOfNodes(), MeshLib::Mesh::getProperties(), and INFO().
Referenced by MeshLib::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 188 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 366 of file MeshSurfaceExtraction.cpp.
References MeshLib::createNodesAndIDMapFromElements(), get2DSurfaceElements(), MeshLib::Mesh::getDimension(), MeshLib::Mesh::getElements(), MeshLib::Mesh::getNumberOfNodes(), and INFO().
Referenced by DirectConditionGenerator::directToSurfaceNodes(), and main().