X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Extrusion.cpp;h=295fb1c9de489e55cd14f0df7190b7c341e05625;hb=1788d3baf9a25806d24754c9f8e32e52ac32d3d3;hp=7c6a0eaebb82f4763ebcd333163a2e127c346648;hpb=8dc74f82810d5f597b78633b457efb0ef4f89f9f;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Extrusion.cpp b/src/FeaturesPlugin/FeaturesPlugin_Extrusion.cpp index 7c6a0eaeb..295fb1c9d 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Extrusion.cpp +++ b/src/FeaturesPlugin/FeaturesPlugin_Extrusion.cpp @@ -3,7 +3,7 @@ // Author: Vitaly SMETANNIKOV #include "FeaturesPlugin_Extrusion.h" -#include +#include #include #include #include @@ -33,12 +33,20 @@ void FeaturesPlugin_Extrusion::execute() ModelAPI_AttributeReference>(data()->attribute(FeaturesPlugin_Extrusion::FACE_ID())); if (!aFaceRef) return; + boost::shared_ptr aFace; boost::shared_ptr aConstr = boost::dynamic_pointer_cast< ModelAPI_ResultConstruction>(aFaceRef->value()); - if (!aConstr) - return; - boost::shared_ptr aFace = aConstr->shape(); - if (!aFace) + if (aConstr) { + aFace = aConstr->shape(); + } + if (!aFace) { + // Check for body + boost::shared_ptr aBody = boost::dynamic_pointer_cast< + ModelAPI_ResultBody>(aFaceRef->value()); + if (aBody) + aFace = aBody->shape(); + } + if (!aFace) return; double aSize = data()->real(FeaturesPlugin_Extrusion::SIZE_ID())->value();