From 98b0e889e7c02274dbe04037f4dc04818da5ea65 Mon Sep 17 00:00:00 2001 From: Guido Ranzuglia Date: Sat, 25 Mar 2017 01:16:36 +1100 Subject: [PATCH] - fixed "svn and sfn are not updated in MeshLabServer" bug --- src/meshlabserver/mainserver.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/meshlabserver/mainserver.cpp b/src/meshlabserver/mainserver.cpp index a4d4d347a..691e9feef 100644 --- a/src/meshlabserver/mainserver.cpp +++ b/src/meshlabserver/mainserver.cpp @@ -410,6 +410,13 @@ public: dt.set(pm, atts); iFilter->glContext->initPerViewRenderingData(meshDocument.mm()->id(), dt); } + + if (meshDocument.mm() != NULL) + { + meshDocument.mm()->cm.svn = int(vcg::tri::UpdateSelection::VertexCount(meshDocument.mm()->cm)); + meshDocument.mm()->cm.sfn = int(vcg::tri::UpdateSelection::FaceCount(meshDocument.mm()->cm)); + } + } else { @@ -422,6 +429,12 @@ public: dt.set(pm, atts); iFilter->glContext->initPerViewRenderingData(mm->id(), dt); } + + if (mm != NULL) + { + mm->cm.svn = int(vcg::tri::UpdateSelection::VertexCount(mm->cm)); + mm->cm.sfn = int(vcg::tri::UpdateSelection::FaceCount(mm->cm)); + } } } } @@ -497,6 +510,12 @@ public: dt.set(pm, atts); cppfilt->glContext->initPerViewRenderingData(meshDocument.mm()->id(), dt); } + + if (meshDocument.mm() != NULL) + { + meshDocument.mm()->cm.svn = int(vcg::tri::UpdateSelection::VertexCount(meshDocument.mm()->cm)); + meshDocument.mm()->cm.sfn = int(vcg::tri::UpdateSelection::FaceCount(meshDocument.mm()->cm)); + } } else { @@ -509,6 +528,13 @@ public: dt.set(pm, atts); cppfilt->glContext->initPerViewRenderingData(mm->id(), dt); } + + if (mm != NULL) + { + mm->cm.svn = int(vcg::tri::UpdateSelection::VertexCount(mm->cm)); + mm->cm.sfn = int(vcg::tri::UpdateSelection::FaceCount(mm->cm)); + } + } } }