Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_Tools.cpp
index 339d08369551b6128bcff4b93083563a4150848e..5cf560636b93be6c263d9eea048d6b664f0c32b6 100644 (file)
@@ -1,7 +1,7 @@
 #include "XGUI_Tools.h"
 
 #include <TopoDS_Shape.hxx>
-#include <ModelAPI_Feature.h>
+#include <ModelAPI_Object.h>
 
 #include <QDir>
 
@@ -56,13 +56,13 @@ QRect makeRect(const int x1, const int y1, const int x2, const int y2)
 }
 
 //******************************************************************
-bool isModelObject(boost::shared_ptr<ModelAPI_Feature> theFeature)
+bool isModelObject(FeaturePtr theFeature)
 {
   return theFeature && !theFeature->data();
 }
 
 //******************************************************************
-std::string featureInfo(boost::shared_ptr<ModelAPI_Feature> theFeature)
+std::string featureInfo(FeaturePtr theFeature)
 {
   std::ostringstream aStream; 
   if (theFeature)
@@ -70,4 +70,15 @@ std::string featureInfo(boost::shared_ptr<ModelAPI_Feature> theFeature)
   return QString(aStream.str().c_str()).toStdString();
 }
 
-}
\ No newline at end of file
+//******************************************************************
+FeaturePtr realFeature(const FeaturePtr theFeature)
+{
+  if (theFeature->data()) {
+    return theFeature;
+  } else {
+    ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(theFeature);
+    return aObject->featureRef();
+  }
+}
+
+}