From 3a4a6951efb780d3e1318881692cb233a9a8af3e Mon Sep 17 00:00:00 2001 From: mpv Date: Tue, 29 Jul 2014 11:35:20 +0400 Subject: [PATCH] Make circle and arc participate in results construction --- src/SketchPlugin/SketchPlugin_Sketch.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/SketchPlugin/SketchPlugin_Sketch.cpp b/src/SketchPlugin/SketchPlugin_Sketch.cpp index 76e48e076..288e4e529 100644 --- a/src/SketchPlugin/SketchPlugin_Sketch.cpp +++ b/src/SketchPlugin/SketchPlugin_Sketch.cpp @@ -61,12 +61,19 @@ void SketchPlugin_Sketch::execute() std::list< boost::shared_ptr > aFeaturesPreview; for (; anIt != aLast; anIt++) { aFeature = boost::dynamic_pointer_cast(*anIt); - boost::shared_ptr aRes = - boost::dynamic_pointer_cast(aFeature->firstResult()); - if (aRes) { - boost::shared_ptr aShape = aRes->shape(); - if (aShape) - aFeaturesPreview.push_back(aShape); + if (aFeature) { + + const std::list >& aRes = aFeature->results(); + std::list >::const_iterator aResIter = aRes.cbegin(); + for(; aResIter != aRes.cend(); aResIter++) { + boost::shared_ptr aConstr = + boost::dynamic_pointer_cast(*aResIter); + if (aConstr) { + boost::shared_ptr aShape = aConstr->shape(); + if (aShape) + aFeaturesPreview.push_back(aShape); + } + } } } -- 2.39.2