X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Fillet.cpp;h=2e55f8c0c2ae6e4b4975098b8a7af3c6bb5005f2;hb=4cb749258f33b7de231da5bb50140407c0599d30;hp=e076f47c2454d2b1ba6081c6dc91f7fb6e9b8f43;hpb=6e421e939851e0de46554ae45a3ca0e1f67cd91d;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Fillet.cpp b/src/SketchPlugin/SketchPlugin_Fillet.cpp index e076f47c2..2e55f8c0c 100644 --- a/src/SketchPlugin/SketchPlugin_Fillet.cpp +++ b/src/SketchPlugin/SketchPlugin_Fillet.cpp @@ -193,6 +193,11 @@ AISObjectPtr SketchPlugin_Fillet::getAISObject(AISObjectPtr thePrevious) anAISObject = AISObjectPtr(new GeomAPI_AISObject); } anAISObject->createShape(anArcShape); + bool isAxiliary = false; + AttributeBooleanPtr aAttr = boolean(AUXILIARY_ID()); + if (aAttr.get()) + isAxiliary = aAttr->value(); + SketchPlugin_Tools::customizeFeaturePrs(anAISObject, isAxiliary); return anAISObject; } @@ -218,6 +223,18 @@ bool SketchPlugin_Fillet::calculateFilletParameters() if (anOwner && !anOwner->isExternal()) aFilletFeatures.insert(anOwner); } + // remove auxilary entities from set of coincident features + if (aFilletFeatures.size() > 2) { + std::set::iterator anIt = aFilletFeatures.begin(); + while (anIt != aFilletFeatures.end()) { + if ((*anIt)->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->value()) { + std::set::iterator aRemoveIt = anIt++; + aFilletFeatures.erase(aRemoveIt); + } + else + ++anIt; + } + } if (aFilletFeatures.size() != 2) { setError("Error: Selected point does not have two suitable edges for fillet."); return false;