MeshCore::MeshEvalPointManifolds Class Reference

The MeshEvalPointManifolds class checks for non-manifold points. More...

#include <Evaluation.h>

Public Member Functions

unsigned long CountManifolds () const
 
virtual bool Evaluate ()
 Evaluates the mesh kernel with respect to certain criteria. More...
 
const std::list< std::vector< unsigned long > > & GetFacetIndices () const
 
void GetFacetIndices (std::vector< unsigned long > &facets) const
 
const std::vector< unsigned long > & GetIndices () const
 
 MeshEvalPointManifolds (const MeshKernel &rclB)
 
virtual ~MeshEvalPointManifolds ()
 
- Public Member Functions inherited from MeshCore::MeshEvaluation
 MeshEvaluation (const MeshKernel &rclB)
 
virtual ~MeshEvaluation ()
 

Protected Attributes

std::list< std::vector< unsigned long > > facetsOfNonManifoldPoints
 
std::vector< unsigned long > nonManifoldPoints
 

Detailed Description

The MeshEvalPointManifolds class checks for non-manifold points.

A point is considered non-manifold if two sets of triangles share the point but are not topologically connected over a common edge. Such mesh defects can lead to some very ugly folds on the surface.

Constructor & Destructor Documentation

◆ MeshEvalPointManifolds()

MeshCore::MeshEvalPointManifolds::MeshEvalPointManifolds ( const MeshKernel rclB)

◆ ~MeshEvalPointManifolds()

virtual MeshCore::MeshEvalPointManifolds::~MeshEvalPointManifolds ( )
virtual

Member Function Documentation

◆ CountManifolds()

unsigned long MeshCore::MeshEvalPointManifolds::CountManifolds ( ) const

◆ Evaluate()

bool MeshEvalPointManifolds::Evaluate ( )
virtual

Evaluates the mesh kernel with respect to certain criteria.

Must be reimplemented by every subclass. This pure virtual function returns false if the mesh kernel is invalid according to this criterion and true if the mesh kernel is correct.

Implements MeshCore::MeshEvaluation.

References facetsOfNonManifoldPoints, and nonManifoldPoints.

Referenced by MeshGui::DlgEvaluateMeshImp::on_analyzeNonmanifoldsButton_clicked(), and Mesh::MeshObject::removeNonManifoldPoints().

◆ GetFacetIndices() [1/2]

const std::list<std::vector<unsigned long> >& MeshCore::MeshEvalPointManifolds::GetFacetIndices ( ) const

◆ GetFacetIndices() [2/2]

void MeshEvalPointManifolds::GetFacetIndices ( std::vector< unsigned long > &  facets) const

◆ GetIndices()

const std::vector<unsigned long>& MeshCore::MeshEvalPointManifolds::GetIndices ( ) const

Member Data Documentation

◆ facetsOfNonManifoldPoints

std::list<std::vector<unsigned long> > MeshCore::MeshEvalPointManifolds::facetsOfNonManifoldPoints
protected

Referenced by Evaluate(), and GetFacetIndices().

◆ nonManifoldPoints

std::vector<unsigned long> MeshCore::MeshEvalPointManifolds::nonManifoldPoints
protected

Referenced by Evaluate().


The documentation for this class was generated from the following files:
  • src/Mod/Mesh/App/Core/Evaluation.h
  • src/Mod/Mesh/App/Core/Evaluation.cpp