diff --git a/MeshObjectInfoPlugin.cc b/MeshObjectInfoPlugin.cc index 100964f253fd7656bf3658fe6325ae8658bd4573..e4dc68a5cb63ffe2203b59830189b165d6469b6b 100644 --- a/MeshObjectInfoPlugin.cc +++ b/MeshObjectInfoPlugin.cc @@ -446,6 +446,9 @@ void InfoMeshObjectPlugin::printMeshInfo( MeshT* _mesh , int _id, unsigned int _ float minD = FLT_MAX; float sumD = 0.0; int numD = 0; + unsigned int maxFValence = -std::numeric_limits::infinity(); + unsigned int minFValence = std::numeric_limits::infinity(); + size_t sumFValence = 0; //iterate over all faces for (f_it = _mesh->faces_begin(); f_it != f_end; ++f_it){ @@ -487,6 +490,7 @@ void InfoMeshObjectPlugin::printMeshInfo( MeshT* _mesh , int _id, unsigned int _ typename MeshT::FaceFaceIter ff_it; typename MeshT::Normal n1 = _mesh->normal(*f_it); + unsigned int valence = 0; for (ff_it = _mesh->ff_iter(*f_it); ff_it.is_valid(); ++ff_it){ typename MeshT::Normal n2 = _mesh->normal(*ff_it); @@ -497,7 +501,11 @@ void InfoMeshObjectPlugin::printMeshInfo( MeshT* _mesh , int _id, unsigned int _ if (angle > maxD) maxD = angle; sumD += angle; numD ++; + ++valence; } + minFValence = std::min(minFValence, valence); + maxFValence = std::max(maxFValence, valence); + sumFValence += valence; } info_->aspectMin->setText( QString::number(minA,'f') ); @@ -508,6 +516,9 @@ void InfoMeshObjectPlugin::printMeshInfo( MeshT* _mesh , int _id, unsigned int _ info_->angleMean->setText( "-" ); info_->angleMax->setText( QString::number(maxI,'f') ); + info_->faceValenceMin->setText(trUtf8("%1").arg(minFValence)); + info_->faceValenceMax->setText(trUtf8("%1").arg(maxFValence)); + info_->faceValenceMean->setText(trUtf8("%1").arg(sumFValence / _mesh->n_faces())); // Only one face or no face -> don't output angles if ( _mesh->n_faces() > 1 ) { diff --git a/infoWidget.ui b/infoWidget.ui index e0318e6c9d5f9acb5079559059271f67bbfffead..18c0d48caba5e77b53c659d6f5223190bc3eb8fd 100644 --- a/infoWidget.ui +++ b/infoWidget.ui @@ -33,8 +33,8 @@ 0 0 - 739 - 1052 + 714 + 1048 @@ -211,8 +211,8 @@ - 40 - 20 + 0 + 0 @@ -426,8 +426,8 @@ - 40 - 20 + 0 + 0 @@ -519,8 +519,8 @@ - 40 - 20 + 0 + 0 @@ -873,8 +873,8 @@ - 20 - 18 + 0 + 0 @@ -901,8 +901,8 @@ - 40 - 20 + 0 + 0 @@ -977,8 +977,8 @@ - 40 - 20 + 0 + 0 @@ -992,8 +992,8 @@ - 20 - 40 + 0 + 0 @@ -1023,8 +1023,8 @@ - 40 - 20 + 0 + 0 @@ -1225,8 +1225,8 @@ - 40 - 20 + 0 + 0 @@ -1252,8 +1252,8 @@ - 91 - 20 + 0 + 0 @@ -1335,8 +1335,8 @@ - 40 - 20 + 0 + 0 @@ -1350,8 +1350,8 @@ - 20 - 40 + 0 + 0 @@ -1475,6 +1475,75 @@ + + + + + + + 50 + false + + + + Face Valence: + + + + + + + + 0 + 32 + + + + + + + + + + + + 50 + false + + + + min + + + + + + + + 50 + false + + + + mean + + + + + + + + 50 + false + + + + max + + + + + @@ -1758,8 +1827,8 @@ - 40 - 20 + 0 + 0