Salome HOME
Abort previous operation by Edit of Parameter. Scenario: Create a parameter, start...
[modules/shaper.git] / src / SketchPlugin / SketchPlugin_Circle.cpp
index 1b74f50ee4f42b5a33db3ba991ed714e3f00af45..bf8a7d8d07b41186c1d6e62c7932970b7b7ce461 100644 (file)
@@ -83,21 +83,13 @@ void SketchPlugin_Circle::move(double theDeltaX, double theDeltaY)
   aPoint1->move(theDeltaX, theDeltaY);
 }
 
-double SketchPlugin_Circle::distanceToPoint(const std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
-{
-  std::shared_ptr<ModelAPI_Data> aData = data();
-  std::shared_ptr<GeomDataAPI_Point2D> aPoint = 
-    std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aData->attribute(CENTER_ID()));
-
-  return aPoint->pnt()->distance(thePoint);
-}
-
 bool SketchPlugin_Circle::isFixed() {
   return data()->selection(EXTERNAL_ID())->context().get() != NULL;
 }
 
 void SketchPlugin_Circle::attributeChanged(const std::string& theID) {
-  if (theID == EXTERNAL_ID()) {
+  // the second condition for unability to move external segments anywhere
+  if (theID == EXTERNAL_ID() || isFixed()) {
     std::shared_ptr<GeomAPI_Shape> aSelection = data()->selection(EXTERNAL_ID())->value();
     // update arguments due to the selection value
     if (aSelection && !aSelection->isNull() && aSelection->isEdge()) {