]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Added ability to debug features and results effectively: name is in the field of...
authormpv <mpv@opencascade.com>
Tue, 7 Feb 2017 12:45:17 +0000 (15:45 +0300)
committermpv <mpv@opencascade.com>
Tue, 7 Feb 2017 12:45:52 +0000 (15:45 +0300)
src/Model/Model_Data.cpp
src/ModelAPI/ModelAPI_Object.h

index b008e76c454911cbc31948f5fe1a06ec68b5008f..2d28604bb0b2cf75fcf9d413484fac9bd7e80275 100644 (file)
@@ -94,8 +94,12 @@ void Model_Data::setLabel(TDF_Label theLab)
 std::string Model_Data::name()
 {
   Handle(TDataStd_Name) aName;
-  if (myLab.FindAttribute(TDataStd_Name::GetID(), aName))
+  if (myLab.FindAttribute(TDataStd_Name::GetID(), aName)) {
+#ifdef DEBUG_NAMES
+    myObject->myName = TCollection_AsciiString(aName->Get()).ToCString();
+#endif
     return std::string(TCollection_AsciiString(aName->Get()).ToCString());
+  }
   return "";  // not defined
 }
 
@@ -118,6 +122,9 @@ void Model_Data::setName(const std::string& theName)
     std::dynamic_pointer_cast<Model_Document>(myObject->document())->
       changeNamingName(anOldName, theName);
   }
+#ifdef DEBUG_NAMES
+  myObject->myName = theName;
+#endif
 }
 
 AttributePtr Model_Data::addAttribute(const std::string& theID, const std::string theAttrType)
index 0d9c067d61b761fd715ad6fd252a190512bbe086..48eabd21e8b6fa0af4ff33b53de185cf53ff00d8 100644 (file)
@@ -16,6 +16,9 @@
 class ModelAPI_Data;
 class ModelAPI_Document;
 
+// sometimes it is usefull for debug to see name of each object (bad for memory and performance)
+//#define DEBUG_NAMES
+
 /**\class ModelAPI_Object
  * \ingroup DataModel
  * \brief Represents any object in the data model and in the object browser.
@@ -30,6 +33,9 @@ class ModelAPI_Object: public ModelAPI_Entity
   std::shared_ptr<ModelAPI_Data> myData;  ///< manager of the data model of a feature
   std::shared_ptr<ModelAPI_Document> myDoc;  ///< document this object belongs to
  public:
+#ifdef DEBUG_NAMES
+  std::string myName; // name of this object
+#endif
   /// By default object is displayed in the object browser.
   MODELAPI_EXPORT virtual bool isInHistory();