From 0d85ad397c22f781694eef1c4b1fa6b9d370324a Mon Sep 17 00:00:00 2001 From: spo Date: Tue, 7 Jul 2015 15:47:10 +0300 Subject: [PATCH] Issue #718 - Translation with parameters - wrong coordinates -- Add SketchPlugin_Tools.cpp/h --- src/SketchPlugin_Tools.cpp | 57 ++++++++++++++++++++++++++++++++++++++ src/SketchPlugin_Tools.h | 15 ++++++++++ 2 files changed, 72 insertions(+) create mode 100644 src/SketchPlugin_Tools.cpp create mode 100644 src/SketchPlugin_Tools.h diff --git a/src/SketchPlugin_Tools.cpp b/src/SketchPlugin_Tools.cpp new file mode 100644 index 000000000..134e00ddf --- /dev/null +++ b/src/SketchPlugin_Tools.cpp @@ -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 +#include +#include + +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(theAttribute); + if (anAttributeDouble.get()) + clearExpressions(anAttributeDouble); + // Point + AttributePointPtr anAttributePoint = + std::dynamic_pointer_cast(theAttribute); + if (anAttributePoint.get()) + clearExpressions(anAttributePoint); + // Point2D + AttributePoint2DPtr anAttributePoint2D = + std::dynamic_pointer_cast(theAttribute); + if (anAttributePoint2D.get()) + clearExpressions(anAttributePoint2D); +} + +void clearExpressions(FeaturePtr theFeature) +{ + if (!theFeature.get()) + return; + + std::list anAttributes = theFeature->data()->attributes(std::string()); + std::list::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 index 000000000..a574db78a --- /dev/null +++ b/src/SketchPlugin_Tools.h @@ -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 + +/// Clears text expressions for all attributes of the feature +void clearExpressions(FeaturePtr theFeature); + +#endif // SKETCHPLUGIN_TOOLS_H_ \ No newline at end of file -- 2.39.2