From bad63d3fe1337682e2c2a6b0bf4f9c670496ecb6 Mon Sep 17 00:00:00 2001 From: Paolo Cignoni cignoni Date: Mon, 15 Dec 2008 16:14:07 +0000 Subject: [PATCH] better comments and use of progressbar callback --- .../samplefilterdoc/samplefilterdoc.cpp | 25 ++++++++++--------- .../samplefilterdoc/samplefilterdoc.h | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/sampleplugins/samplefilterdoc/samplefilterdoc.cpp b/src/sampleplugins/samplefilterdoc/samplefilterdoc.cpp index 9b0cd515a..5bf7192fc 100644 --- a/src/sampleplugins/samplefilterdoc/samplefilterdoc.cpp +++ b/src/sampleplugins/samplefilterdoc/samplefilterdoc.cpp @@ -71,7 +71,7 @@ const QString SampleFilterDocPlugin::filterName(FilterIDType filterId) const QString SampleFilterDocPlugin::filterInfo(FilterIDType filterId) { switch(filterId) { - case FP_FLATTEN : return QString("Flatten all or only the visible layers into a single new mesh.
Transformation are preserved. Existing layers can be optionally layers deleted"); + case FP_FLATTEN : return QString("Flatten all or only the visible layers into a single new mesh.
Transformations are preserved. Existing layers can be optionally deleted"); default : assert(0); } } @@ -90,19 +90,19 @@ void SampleFilterDocPlugin::initParameterSet(QAction *action,MeshDocument & /*m* parlst.addBool ("MergeVisible", true, "Merge Only Visible Layers", - "Merge the vertices that are duplicated among different layers. \n\n" + "Merge the vertices that are duplicated among different layers.
" "Very useful when the layers are spliced portions of a single big mesh."); parlst.addBool ("DeleteLayer", true, "Delete Layers ", "Delete all the merged layers.
If all layers are visible only a single layer will remain after the invocation of this filter"); - break; - parlst.addBool ("MergeVertices", + parlst.addBool ("MergeVertices", true, "Merge duplicate vertices", "Merge the vertices that are duplicated among different layers. \n\n" "Very useful when the layers are spliced portions of a single big mesh."); - + break; + default : assert(0); } } @@ -122,14 +122,16 @@ bool SampleFilterDocPlugin::applyFilter(QAction *filter, MeshDocument &md, Filte MeshModel *destMesh= md.addNewMesh("Merged Mesh"); md.meshList.front(); QList toBeDeletedList; + + int cnt=0; foreach(MeshModel *mmp, md.meshList) - { + { ++cnt; if(mmp->visible || !mergeVisible) { if(mmp!=destMesh) { + cb(cnt*100/md.meshList.size(), "Merging layers..."); tri::UpdatePosition::Matrix(mmp->cm,mmp->cm.Tr,true); -// mmp->cm.Tr.SetIdentity(); toBeDeletedList.push_back(mmp); tri::Append::Mesh(destMesh->cm,mmp->cm); tri::UpdatePosition::Matrix(mmp->cm,Inverse(mmp->cm.Tr),true); @@ -137,15 +139,14 @@ bool SampleFilterDocPlugin::applyFilter(QAction *filter, MeshDocument &md, Filte } } - if( deleteLayer ) - { - foreach(MeshModel *mmp,toBeDeletedList) - { + if( deleteLayer ) { + Log(GLLogStream::Info, "Deleted %d merged layers", toBeDeletedList.size()); + foreach(MeshModel *mmp,toBeDeletedList) { md.delMesh(mmp); } } - if(mergeVertices) + if( mergeVertices ) { int delvert=tri::Clean::RemoveDuplicateVertex(destMesh->cm); Log(GLLogStream::Info, "Removed %d duplicated vertices", delvert); diff --git a/src/sampleplugins/samplefilterdoc/samplefilterdoc.h b/src/sampleplugins/samplefilterdoc/samplefilterdoc.h index 54c3bf01b..58222ab1f 100644 --- a/src/sampleplugins/samplefilterdoc/samplefilterdoc.h +++ b/src/sampleplugins/samplefilterdoc/samplefilterdoc.h @@ -55,7 +55,7 @@ public: virtual const FilterClass getClass(QAction *); virtual void initParameterSet(QAction *,MeshDocument &/*m*/, FilterParameterSet & /*parent*/); virtual bool applyFilter(QAction *filter, MeshDocument &m, FilterParameterSet & /*parent*/, vcg::CallBackPos * cb) ; - virtual bool applyFilter(QAction *filter, MeshModel &, FilterParameterSet & /*parent*/, vcg::CallBackPos * cb) { assert(0); return false;} ; + virtual bool applyFilter(QAction */*filter*/, MeshModel &, FilterParameterSet & /*parent*/, vcg::CallBackPos *) { assert(0); return false;} ; }; #endif