OGS
ElementQualityMetric.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <vector>
7
8#include "BaseLib/Histogram.h"
10#include "MeshLib/Mesh.h"
11
12namespace MeshToolsLib
13{
14
20{
21public:
22 explicit ElementQualityMetric(MeshLib::Mesh const& mesh);
23
24 virtual ~ElementQualityMetric() = default;
25
27 virtual void calculateQuality() = 0;
28
30 std::vector<double> const& getElementQuality() const;
31
36 std::size_t n_bins = 0) const;
37
38protected:
39 double _min = std::numeric_limits<double>::max();
40 double _max = 0;
42 std::vector<double> _element_quality_metric;
43};
44} // namespace MeshToolsLib
std::vector< double > _element_quality_metric
virtual BaseLib::Histogram< double > getHistogram(std::size_t n_bins=0) const
virtual ~ElementQualityMetric()=default
ElementQualityMetric(MeshLib::Mesh const &mesh)
virtual void calculateQuality()=0
Calculates the quality metric for each element of the mesh.
std::vector< double > const & getElementQuality() const
Returns the result vector.