From 37f8ea9643d55a347b659cd69d2eea9ef3e86d5a Mon Sep 17 00:00:00 2001 From: Paolo Cignoni Date: Tue, 11 Apr 2017 19:10:13 +0200 Subject: [PATCH] Added Option to compute average edge length only on selected faces --- vcg/complex/algorithms/stat.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/vcg/complex/algorithms/stat.h b/vcg/complex/algorithms/stat.h index ed631ec7..ce2c5cd2 100644 --- a/vcg/complex/algorithms/stat.h +++ b/vcg/complex/algorithms/stat.h @@ -317,15 +317,16 @@ public: h.Add(Distance(edgeVec[i].v[0]->P(),edgeVec[i].v[1]->P())); } - static ScalarType ComputeFaceEdgeLengthAverage(MeshType & m) + static ScalarType ComputeFaceEdgeLengthAverage(MeshType & m, bool selected=false) { double sum=0; for(FaceIterator fi = m.face.begin(); fi != m.face.end(); ++fi) if(!(*fi).IsD()) - { - for(int i=0;i<3;++i) - sum+=double(Distance(fi->P0(i),fi->P1(i))); - } + if(!selected || fi->IsS()) + { + for(int i=0;i<3;++i) + sum+=double(Distance(fi->P0(i),fi->P1(i))); + } return sum/(m.fn*3.0); }