]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Issue #718 - Translation with parameters - wrong coordinates -- Add SketchPlugin_Tool...
authorspo <sergey.pokhodenko@opencascade.com>
Tue, 7 Jul 2015 12:47:10 +0000 (15:47 +0300)
committerspo <sergey.pokhodenko@opencascade.com>
Tue, 7 Jul 2015 12:47:54 +0000 (15:47 +0300)
src/SketchPlugin_Tools.cpp [new file with mode: 0644]
src/SketchPlugin_Tools.h [new file with mode: 0644]

diff --git a/src/SketchPlugin_Tools.cpp b/src/SketchPlugin_Tools.cpp
new file mode 100644 (file)
index 0000000..134e00d
--- /dev/null
@@ -0,0 +1,57 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchPlugin_Tools.cpp
+// Created:     07 July 2015
+// Author:      Sergey POKHODENKO
+
+#include "SketchPlugin_Tools.h"
+
+#include <GeomDataAPI_Point.h>
+#include <GeomDataAPI_Point2D.h>
+#include <ModelAPI_AttributeDouble.h>
+
+void clearExpressions(AttributeDoublePtr theAttribute)
+{
+  theAttribute->setText(std::string());
+}
+
+void clearExpressions(AttributePointPtr theAttribute)
+{
+  theAttribute->setText(std::string(), std::string(), std::string());
+}
+
+void clearExpressions(AttributePoint2DPtr theAttribute)
+{
+  theAttribute->setText(std::string(), std::string());
+}
+
+void clearExpressions(AttributePtr theAttribute)
+{
+  // Double
+  AttributeDoublePtr anAttributeDouble = 
+      std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(theAttribute);
+  if (anAttributeDouble.get())
+    clearExpressions(anAttributeDouble);
+  // Point
+  AttributePointPtr anAttributePoint = 
+      std::dynamic_pointer_cast<GeomDataAPI_Point>(theAttribute);
+  if (anAttributePoint.get())
+    clearExpressions(anAttributePoint);
+  // Point2D
+  AttributePoint2DPtr anAttributePoint2D = 
+      std::dynamic_pointer_cast<GeomDataAPI_Point2D>(theAttribute);
+  if (anAttributePoint2D.get())
+    clearExpressions(anAttributePoint2D);
+}
+
+void clearExpressions(FeaturePtr theFeature)
+{
+  if (!theFeature.get())
+    return;
+
+  std::list<AttributePtr> anAttributes = theFeature->data()->attributes(std::string());  
+  std::list<AttributePtr>::iterator anAttributeIt = anAttributes.begin();
+  for (; anAttributeIt != anAttributes.end(); ++anAttributeIt) {
+    clearExpressions(*anAttributeIt);
+  }
+}
diff --git a/src/SketchPlugin_Tools.h b/src/SketchPlugin_Tools.h
new file mode 100644 (file)
index 0000000..a574db7
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchPlugin_Tools.h
+// Created:     07 July 2015
+// Author:      Sergey POKHODENKO
+
+#ifndef SKETCHPLUGIN_TOOLS_H_
+#define SKETCHPLUGIN_TOOLS_H_
+
+#include <ModelAPI_Feature.h>
+
+/// Clears text expressions for all attributes of the feature 
+void clearExpressions(FeaturePtr theFeature);
+
+#endif // SKETCHPLUGIN_TOOLS_H_
\ No newline at end of file