26 for (std::size_t k(0); k < n_elements; k++)
28 auto const& elem(*elements[k]);
29 std::unique_ptr<Element const> first_edge{elem.getEdge(0)};
30 auto sqr_min_edge_length =
32 auto sqr_max_edge_length = sqr_min_edge_length;
33 auto const n_edges(elem.getNumberOfEdges());
34 for (std::size_t i = 1; i < n_edges; i++)
36 std::unique_ptr<Element const> edge{elem.getEdge(i)};
37 auto const sqr_edge_length =
39 if (sqr_edge_length < sqr_min_edge_length)
41 sqr_min_edge_length = sqr_edge_length;
43 if (sqr_edge_length > sqr_max_edge_length)
45 sqr_max_edge_length = sqr_edge_length;
49 std::sqrt(sqr_min_edge_length / sqr_max_edge_length);
Definition of the EdgeRatioMetric class.
Definition of the Node class.
std::vector< double > _element_quality_metric
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.
std::size_t getNumberOfElements() const
Get the number of elements.
double sqrDist(MathLib::Point3d const &p0, MathLib::Point3d const &p1)
void calculateQuality() override
Calculates the quality metric for each element of the mesh.