From 63e91ab5498f5f4d2aee1fae963c9b9f51d0f7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20M=C3=B6bius?= Date: Fri, 20 Jan 2012 14:32:11 +0000 Subject: [PATCH] Interface implementation for subdivider extension of update points refs #266 git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@13458 383ad7c9-94d9-4d36-a494-682f7c89f535 --- SubdividerPlugin.cc | 12 ++++++------ subdividerControls.ui | 23 +++++++++++++++++++++-- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/SubdividerPlugin.cc b/SubdividerPlugin.cc index 0139800..125091b 100644 --- a/SubdividerPlugin.cc +++ b/SubdividerPlugin.cc @@ -85,7 +85,7 @@ void SubdividerPlugin::pluginsInitialized() { emit setSlotDescription("subdivide(int,QString,int)", "Smooth a triangular mesh", QString("object_id,algorithm,iterations").split(","), - QString("id of an object, algorithm to use (loop | sqrt3 | interpolating_sqrt3 | modifiedButterfly ), number of iterations").split(",")); + QString("id of an object, algorithm to use (linear | loop | sqrt3 | interpolating_sqrt3 | modifiedButterfly ), number of iterations").split(",")); } //----------------------------------------------------------------------------- @@ -97,7 +97,6 @@ void SubdividerPlugin::slotSubdivideUniform() { for (unsigned int i = 0; i < ids.size(); ++i) { - if(tool_->loop_radioButton->isChecked()) { subdivide(ids[i],"loop",tool_->subdivision_steps_spinBox->value()); @@ -129,12 +128,13 @@ void SubdividerPlugin::subdivide(int _objectId, QString _algorithm , int _steps) TriMesh* mesh = PluginFunctions::triMesh(object); + if(_algorithm.contains("loop",Qt::CaseInsensitive)) { OpenMesh::Subdivider::Uniform::LoopT subdivider; subdivider.attach(*mesh); - subdivider(_steps); + subdivider(*mesh,_steps,tool_->updatePoints->isChecked()); subdivider.detach(); } else if ( _algorithm.contains("sqrt3",Qt::CaseInsensitive) ) @@ -142,7 +142,7 @@ void SubdividerPlugin::subdivide(int _objectId, QString _algorithm , int _steps) OpenMesh::Subdivider::Uniform::Sqrt3T subdivider; subdivider.attach(*mesh); - subdivider(_steps); + subdivider(_steps,tool_->updatePoints->isChecked()); subdivider.detach(); } else if ( _algorithm.contains("interpolating_sqrt(3)",Qt::CaseInsensitive) ) @@ -150,7 +150,7 @@ void SubdividerPlugin::subdivide(int _objectId, QString _algorithm , int _steps) OpenMesh::Subdivider::Uniform::InterpolatingSqrt3LGT subdivider; subdivider.attach(*mesh); - subdivider(_steps); + subdivider(_steps,tool_->updatePoints->isChecked()); subdivider.detach(); } else if ( _algorithm.contains("modifiedButterfly",Qt::CaseInsensitive) ) @@ -158,7 +158,7 @@ void SubdividerPlugin::subdivide(int _objectId, QString _algorithm , int _steps) OpenMesh::Subdivider::Uniform::ModifiedButterflyT subdivider; subdivider.attach(*mesh); - subdivider(_steps); + subdivider(_steps,tool_->updatePoints->isChecked()); subdivider.detach(); } diff --git a/subdividerControls.ui b/subdividerControls.ui index 3598de2..f2587b2 100644 --- a/subdividerControls.ui +++ b/subdividerControls.ui @@ -13,7 +13,7 @@ Form - + @@ -37,7 +37,7 @@ Uniform Subdivision - + @@ -103,6 +103,25 @@ of SIGGRAPH 1996, ACM SIGGRAPH, 1996, pp. 189-192. + + + + false + + + + + + Update Points + + + true + + + true + + + -- GitLab