Salome HOME
Preparations for Split operation. It includes:
[modules/shaper.git] / src / SketcherPrs / SketcherPrs_Transformation.cpp
index 347f8c3578b9358717c1c6b8baaa365613acd689..e4a4899ffef79ba0ba1ca34292bd270ac2d32994 100644 (file)
@@ -48,10 +48,28 @@ bool SketcherPrs_Transformation::IsReadyToDisplay(ModelAPI_Feature* theConstrain
 
   int aNbB = anAttrB->size();
   aReadyToDisplay = aNbB > 0;
+
+#ifdef DEBUG_HIDE_COPY_ATTRIBUTE
+  // additional check
+  if (theConstraint->getKind() == SketchPlugin_MultiTranslation::ID()) {
+    // If it is translation
+    AttributePoint2DPtr aStart = GeomDataAPI_Point2D::getPoint2D(aData,
+                                            SketchPlugin_MultiTranslation::START_POINT_ID());
+    AttributePoint2DPtr aEnd = GeomDataAPI_Point2D::getPoint2D(aData,
+                                            SketchPlugin_MultiTranslation::END_POINT_ID());
+
+    aReadyToDisplay = aStart.get() && aEnd.get() && aStart->isInitialized() && aEnd->isInitialized();
+  }
+  else if (theConstraint->getKind() == SketchPlugin_MultiRotation::ID()) {
+    // if it is rotation
+    AttributePoint2DPtr aCenter = GeomDataAPI_Point2D::getPoint2D(aData, SketchPlugin_MultiRotation::CENTER_ID());
+    aReadyToDisplay = aCenter.get() && aCenter->isInitialized();
+  }
+#endif
   return aReadyToDisplay;
 }
 
-bool SketcherPrs_Transformation::updatePoints(double theStep) const 
+bool SketcherPrs_Transformation::updateIfReadyToDisplay(double theStep) const 
 {
   if (!IsReadyToDisplay(myConstraint, myPlane))
     return false;