From: azv Date: Mon, 29 Feb 2016 10:18:47 +0000 (+0300) Subject: Update all arc attributes on execute() (issue #1339) X-Git-Tag: V_2.2.0~45 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=12f990f0912fde0db0be8543557f5700f1db9777;p=modules%2Fshaper.git Update all arc attributes on execute() (issue #1339) --- diff --git a/src/SketchPlugin/SketchPlugin_Arc.cpp b/src/SketchPlugin/SketchPlugin_Arc.cpp index 2c55b1ddf..c2b9e4ea7 100644 --- a/src/SketchPlugin/SketchPlugin_Arc.cpp +++ b/src/SketchPlugin/SketchPlugin_Arc.cpp @@ -200,6 +200,9 @@ void SketchPlugin_Arc::execute() setResult(aConstr2, 1); } + // update radius and angle + updateDependentAttributes(); + AttributeRefAttrPtr aTangentPoint = std::dynamic_pointer_cast( attribute(TANGENT_POINT_ID())); if (!hasResult && aTangentPoint->attr()) diff --git a/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp b/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp index 0576e0654..41bb895b9 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp +++ b/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp @@ -313,7 +313,7 @@ void SketchPlugin_ConstraintFillet::execute() aResultEdgeB->execute(); // update fillet arc: make the arc correct for sure, so, it is not needed to process the "attribute updated" // by arc; moreover, it may cause cyclicity in hte mechanism of updater - //aResultArc->data()->blockSendAttributeUpdated(true); + aResultArc->data()->blockSendAttributeUpdated(true); std::dynamic_pointer_cast( aResultArc->attribute(SketchPlugin_Arc::CENTER_ID()))->setValue(aCenter->x(), aCenter->y()); if(isReversed) { @@ -332,7 +332,7 @@ void SketchPlugin_ConstraintFillet::execute() } aStartPoint->setValue(aTangentPntA->x(), aTangentPntA->y()); aEndPoint->setValue(aTangentPntB->x(), aTangentPntB->y()); - //aResultArc->data()->blockSendAttributeUpdated(false); + aResultArc->data()->blockSendAttributeUpdated(false); aResultArc->execute(); if(anIsNeedNewObjects) {