From fa101ffb8c601c326f3fa3e32606852a21c049d9 Mon Sep 17 00:00:00 2001 From: Oliver Gloth Date: Fri, 17 May 2013 22:09:09 +0200 Subject: [PATCH] added screen output functionality --- src/libengrid/meshquality.cpp | 22 ++++++++++++++++++++++ src/libengrid/meshquality.h | 7 +++++++ 2 files changed, 29 insertions(+) diff --git a/src/libengrid/meshquality.cpp b/src/libengrid/meshquality.cpp index 291b64a..c3cac8a 100644 --- a/src/libengrid/meshquality.cpp +++ b/src/libengrid/meshquality.cpp @@ -24,6 +24,7 @@ MeshQuality::MeshQuality() { + m_Name = "unknown mesh quality"; } void MeshQuality::computeNodesFromCells() @@ -39,3 +40,24 @@ void MeshQuality::computeNodesFromCells() node_mesh_quality->SetValue(id_node, mq); } } + +void MeshQuality::printCellInfo(int indent) +{ + double min_quality = 1e99; + double max_quality = 0; + double mean_quality = 0; + EG_VTKDCC(vtkDoubleArray, cell_mesh_quality, m_Grid, "cell_mesh_quality"); + EG_FORALL_CELLS(id_cell, m_Grid) { + double q = cell_mesh_quality->GetValue(id_cell); + min_quality = min(q, min_quality); + max_quality = max(q, max_quality); + mean_quality += q; + } + mean_quality /= m_Grid->GetNumberOfCells(); + QString indent_str; + indent_str.fill(' ', indent); + cout << qPrintable(indent_str) << qPrintable(name()) << endl; + cout << qPrintable(indent_str) << "min : " << min_quality << endl; + cout << qPrintable(indent_str) << "mean : " << mean_quality << endl; + cout << qPrintable(indent_str) << "max : " << max_quality << endl; +} diff --git a/src/libengrid/meshquality.h b/src/libengrid/meshquality.h index 5b2c56b..f43c18d 100644 --- a/src/libengrid/meshquality.h +++ b/src/libengrid/meshquality.h @@ -28,6 +28,11 @@ class MeshQuality : public Operation { +protected: // attributes + + QString m_Name; + + protected: // methods void computeNodesFromCells(); @@ -36,6 +41,8 @@ protected: // methods public: // methods MeshQuality(); + void printCellInfo(int indent = 0); + QString name() { return m_Name; } }; -- 2.11.4.GIT