Salome HOME
refs #430: incorrect coordinates in dump polyline
[modules/hydro.git] / src / HYDROData / HYDROData_Entity.h
index 0f48dbbce666b42354d3b82a30198a3cefb1aaa5..d639c4a7c976cf18704e605e112e34fb6a4a69b0 100644 (file)
@@ -54,6 +54,8 @@ typedef QMap<QString,Handle(Standard_Transient)> MapOfTreatedObjects;
 
 typedef NCollection_Sequence<Handle_HYDROData_Entity> HYDROData_SequenceOfObjects;
 
+///! Is Equal for HYDROData_Entity mapping
+HYDRODATA_EXPORT bool IsEqual(const Handle_HYDROData_Entity& theObj1, const Handle_HYDROData_Entity& theObj2);
 
 /**\class HYDROData_Entity
  * \brief Generic class of any object in the data model.
@@ -72,8 +74,8 @@ protected:
    */
   enum DataTag
   {
-    DataTag_First = 0     ///< first tag, to reserve
-    // ...
+    DataTag_First  = 0,     ///< first tag, to reserve
+    DataTag_ZLevel,         ///< z-level of object presentation
   };
 
 public:
@@ -112,6 +114,19 @@ public:
    */
   HYDRODATA_EXPORT virtual void Update();
 
+  HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy );
+
+  /**
+   * Checks that object has 2D presentation. Base implementation returns false.
+   */
+  HYDRODATA_EXPORT virtual bool IsHas2dPrs() const;
+
+  /**
+   * Show object at the top of other model objects.
+   */
+  HYDRODATA_EXPORT virtual void Show();
+
+
   /**
    * Returns data of object wrapped to QVariant.
    * Base implementation returns null value.
@@ -183,6 +198,22 @@ public:
   HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const;
 
 
+  /**
+   * Returns the z-level for object presentation, -1 if no z-level.
+   */
+  HYDRODATA_EXPORT virtual Standard_Boolean GetZLevel( Standard_Integer& theLevel ) const;
+
+  /**
+   * Set the z-level for object presentation.
+   */
+  HYDRODATA_EXPORT virtual void SetZLevel( const Standard_Integer& theLevel );
+
+  /**
+   * Remove the z-level of object presentation.
+   */
+  HYDRODATA_EXPORT virtual void RemoveZLevel();
+
+
 protected:
 
   friend class HYDROData_Iterator;
@@ -202,7 +233,7 @@ protected:
    * Put the object to the label of the document.
    * \param theLabel new label of the object
    */
-  HYDRODATA_EXPORT virtual void SetLabel(TDF_Label theLabel);
+  HYDRODATA_EXPORT virtual void SetLabel( const TDF_Label& theLabel );
 
   /**
    * Internal method that used to store the byte array attribute
@@ -328,16 +359,6 @@ protected:
  
 protected:
 
-  void setPythonReferenceObject( MapOfTreatedObjects&            theTreatedObjects,
-                                 QStringList&                    theScript,
-                                 const Handle(HYDROData_Entity)& theRefObject,
-                                 const QString&                  theMethod ) const;
-
-  void setPythonObjectColor( QStringList&         theScript,
-                             const QColor&        theColor,
-                             const QColor&        theDefaultColor,
-                             const QString&       theMethod ) const;
-
   /**
    * Dump the initial object creation to a Python script.
    * You should call it from DumpToPython implementation before 
@@ -348,7 +369,21 @@ protected:
   /**
    * Returns an object type name as a string for dumping to Python.
    */
-  QString HYDROData_Entity::getPyTypeID() const;
+  QString getPyTypeID() const;
+
+  void setPythonReferenceObject( MapOfTreatedObjects&            theTreatedObjects,
+                                 QStringList&                    theScript,
+                                 const Handle(HYDROData_Entity)& theRefObject,
+                                 const QString&                  theMethod ) const;
+
+  bool checkObjectPythonDefinition( MapOfTreatedObjects&            theTreatedObjects,
+                                    QStringList&                    theScript,
+                                    const Handle(HYDROData_Entity)& theRefObject ) const;
+
+  void setPythonObjectColor( QStringList&         theScript,
+                             const QColor&        theColor,
+                             const QColor&        theDefaultColor,
+                             const QString&       theMethod ) const;
 
 protected:
 
@@ -361,7 +396,4 @@ protected:
   TDF_Label myLab; ///< label of this object
 };
 
-///! Is Equal for HYDROData_Entity mapping
-HYDRODATA_EXPORT bool IsEqual(const Handle_HYDROData_Entity& theObj1, const Handle_HYDROData_Entity& theObj2);
-
 #endif