OGS
MeshLib::AngleSkewMetric Struct Referencefinal

Detailed Description

Calculates the quality of mesh elements based on the EquiAngleSkew measure

Definition at line 25 of file AngleSkewMetric.h.

#include <AngleSkewMetric.h>

Inheritance diagram for MeshLib::AngleSkewMetric:
[legend]
Collaboration diagram for MeshLib::AngleSkewMetric:
[legend]

Public Member Functions

void calculateQuality () override
 Calculates the quality metric for each element of the mesh. More...
 
 ElementQualityMetric (Mesh const &mesh)
 
- Public Member Functions inherited from MeshLib::ElementQualityMetric
 ElementQualityMetric (Mesh const &mesh)
 
virtual ~ElementQualityMetric ()=default
 
std::vector< double > const & getElementQuality () const
 Returns the result vector. More...
 
virtual BaseLib::Histogram< double > getHistogram (std::size_t n_bins=0) const
 

Additional Inherited Members

- Protected Attributes inherited from MeshLib::ElementQualityMetric
double _min = std::numeric_limits<double>::max()
 
double _max = 0
 
Mesh const & _mesh
 
std::vector< double > _element_quality_metric
 

Member Function Documentation

◆ calculateQuality()

void MeshLib::AngleSkewMetric::calculateQuality ( )
overridevirtual

Calculates the quality metric for each element of the mesh.

Implements MeshLib::ElementQualityMetric.

Definition at line 145 of file AngleSkewMetric.cpp.

146 {
147  for (auto const e : _mesh.getElements())
148  {
149  switch (e->getGeomType())
150  {
151  case MeshElemType::LINE:
152  _element_quality_metric[e->getID()] = -1.0;
153  break;
155  _element_quality_metric[e->getID()] = checkTriangle(*e);
156  break;
157  case MeshElemType::QUAD:
158  _element_quality_metric[e->getID()] = checkQuad(*e);
159  break;
161  _element_quality_metric[e->getID()] = checkTetrahedron(*e);
162  break;
164  _element_quality_metric[e->getID()] = checkHexahedron(*e);
165  break;
166  case MeshElemType::PRISM:
167  _element_quality_metric[e->getID()] = checkPrism(*e);
168  break;
169  default:
170  break;
171  }
172  }
173 }
std::vector< double > _element_quality_metric
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
Definition: Mesh.h:98

References MeshLib::anonymous_namespace{AngleSkewMetric.cpp}::checkHexahedron(), MeshLib::anonymous_namespace{AngleSkewMetric.cpp}::checkPrism(), MeshLib::anonymous_namespace{AngleSkewMetric.cpp}::checkQuad(), MeshLib::anonymous_namespace{AngleSkewMetric.cpp}::checkTetrahedron(), and MeshLib::anonymous_namespace{AngleSkewMetric.cpp}::checkTriangle().

◆ ElementQualityMetric()

MeshLib::ElementQualityMetric::ElementQualityMetric
explicit

Definition at line 33 of file ElementQualityMetric.cpp.

23  : _mesh(mesh)
24 {
26 }
std::size_t getNumberOfElements() const
Get the number of elements.
Definition: Mesh.h:86

The documentation for this struct was generated from the following files: