The MeshComponents class searches for topologic independent segments of the given mesh structure. More...
#include <TopoAlgorithm.h>
Classes | |
struct | CNofFacetsCompare |
Public Types | |
enum | TMode { OverEdge , OverPoint } |
Public Member Functions | |
MeshComponents (const MeshKernel &rclMesh) | |
Some important formulas: More... | |
void | SearchForComponents (TMode tMode, const std::vector< FacetIndex > &aSegment, std::vector< std::vector< FacetIndex > > &aclT) const |
Does basically the same as the method above escept that only the faces in aSegment are regarded. More... | |
void | SearchForComponents (TMode tMode, std::vector< std::vector< FacetIndex > > &aclT) const |
Searches for 'isles' of the mesh. More... | |
~MeshComponents () | |
The MeshComponents class searches for topologic independent segments of the given mesh structure.
MeshComponents::MeshComponents | ( | const MeshKernel & | rclMesh | ) |
Some important formulas:
Ne = 3Nv - Nb + 3B + 6(G-R) Nt = 2Nv - Nb + 2B + 4(G-R)
Ne <= 3Nv + 6(G-R) Nt <= 2Nv + 4(G-R)
Ne ~ 3Nv, Nv >> G, Nv >> R Nt ~ 2Nv, Nv >> G, Nv >> R
Ne = #Edges Nt = #Facets Nv = #Vertices Nb = #Boundary vertices B = #Boundaries G = Genus (Number of holes) R = #components
MeshComponents::~MeshComponents | ( | ) |
void MeshComponents::SearchForComponents | ( | TMode | tMode, |
const std::vector< FacetIndex > & | aSegment, | ||
std::vector< std::vector< FacetIndex > > & | aclT | ||
) | const |
Does basically the same as the method above escept that only the faces in aSegment are regarded.
References MeshCore::MeshAlgorithm::CountFacetFlag(), MeshCore::FACET_INDEX_MAX, OverEdge, OverPoint, MeshCore::MeshAlgorithm::ResetFacetsFlag(), MeshCore::MeshAlgorithm::SetFacetFlag(), and MeshCore::MeshFacet::VISIT.
void MeshComponents::SearchForComponents | ( | TMode | tMode, |
std::vector< std::vector< FacetIndex > > & | aclT | ||
) | const |
Searches for 'isles' of the mesh.
If tMode is OverEdge then facets sharing the same edge are regarded as connected, if tMode is OverPoint then facets sharing a common point are regarded as connected.
References SearchForComponents().
Referenced by Mesh::MeshObject::countComponents(), MeshGui::MeshSelection::deselectComponent(), MeshCore::MeshTopoAlgorithm::FindComponents(), Mesh::MeshObject::getComponents(), SearchForComponents(), and MeshGui::MeshSelection::selectComponent().