+
+//******************************************************************
+bool isModelObject(FeaturePtr theFeature)
+{
+ return theFeature && !theFeature->data();
+}
+
+//******************************************************************
+std::string featureInfo(FeaturePtr theFeature)
+{
+ std::ostringstream aStream;
+ if (theFeature)
+ aStream << theFeature.get() << " " << theFeature->getKind();
+ return QString(aStream.str().c_str()).toStdString();
+}
+
+//******************************************************************
+FeaturePtr realFeature(const FeaturePtr theFeature)
+{
+ if (theFeature->data()) {
+ return theFeature;
+ } else {
+ ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(theFeature);
+ return aObject->featureRef();
+ }
+}
+
+}