Salome HOME
change def hasher for indexed map
[modules/hydro.git] / src / HYDROData / HYDROData_Entity.h
index 6d51a47a2060b3b08dd8137f6aff35cd3c1e0c35..a38e771dd47ba9a8499061bc6a34835b23e38882 100644 (file)
@@ -23,9 +23,9 @@
 #include <NCollection_Sequence.hxx>
 #include <TDF_Label.hxx>
 #include <QMap>
+#include <QString>
 
 class QColor;
-class QString;
 class QVariant;
 class QStringList;
 class Handle(TDataStd_ReferenceList);
@@ -65,6 +65,7 @@ const ObjectKind KIND_STRICKLER_TABLE     = 26;
 const ObjectKind KIND_LAND_COVER_OBSOLETE = 27;
 const ObjectKind KIND_CHANNEL_ALTITUDE    = 28;
 const ObjectKind KIND_LAND_COVER_MAP      = 29;
+const ObjectKind KIND_DTM                 = 30;
 const ObjectKind KIND_LAST                = KIND_LAND_COVER_MAP;
 
 DEFINE_STANDARD_HANDLE(HYDROData_Entity, MMgt_TShared)
@@ -102,6 +103,7 @@ protected:
     DataTag_First  = 0,     ///< first tag, to reserve
     DataTag_ZLevel,         ///< z-level of object presentation
     DataTag_GeomChange,
+    DataTag_DefaultName,    ///< to keep the automatic name, useful in Python dump
   };
 
 public:
@@ -130,10 +132,15 @@ public:
    */
   HYDRODATA_EXPORT virtual QString GetName() const;
 
+  /**
+   * Returns the default name of this object.
+   */
+  HYDRODATA_EXPORT virtual QString GetDefaultName() const;
+
   /**
    * Updates the name of this object.
    */
-  HYDRODATA_EXPORT void SetName( const QString& theName );
+  HYDRODATA_EXPORT void SetName( const QString& theName, bool isDefault = false );
 
   /**
    * Returns the name of this object valid for Python script.
@@ -249,14 +256,22 @@ public:
   HYDRODATA_EXPORT virtual void RemoveZLevel();
 
   /**
-    Find the Python object in the document by the object name.
-    @param theTreatedObjects the map of treated objects
+    Add in Python script the find instruction, to retrieve the Python object in the document by the object name.
     @param theScript the script
+    @param defName the name to use, if not default name.
   */
-  void findPythonReferenceObject( MapOfTreatedObjects&            theTreatedObjects,
-                                  QStringList&                    theScript ) const;
+  void findPythonReferenceObject( QStringList&                    theScript,
+                                  QString                         defName = QString()) const;
 
   /**
+    Add in Python script the set name instruction.
+    @param theScript the script
+    @param defName the name to use, if not default name.
+  */
+ void SetNameInDumpPython(QStringList&                           theScript,
+                          QString                                theName = QString()) const;
+
+    /**
    * Internal method that used to store the color attribute
    * \param theTag tag of a label that keeps the attribute (for 0 this is myLab)
    * \param theColor color to save
@@ -435,6 +450,9 @@ protected:
   void SetShape( int theTag, const TopoDS_Shape& theShape );
   TopoDS_Shape GetShape( int theTag ) const;
 
+  void SetDouble( int theTag, double theValue );
+  double GetDouble( int theTag, double theDefValue = 0.0 ) const;
+
   int GetGeomChangeFlag() const;
 
 protected: