Salome HOME
Convert to Unix format
[modules/hydro.git] / src / HYDROData / HYDROData_Image.h
index 167d8b54767833d670de08c32ebe3f96804392c4..8b069add8f2f4d5fc2f2263a417163f1221c08ca 100644 (file)
@@ -16,6 +16,18 @@ DEFINE_STANDARD_HANDLE(HYDROData_Image, HYDROData_Object)
  */
 class HYDROData_Image : public HYDROData_Object
 {
+protected:
+  /**
+   * Enumeration of tags corresponding to the persistent object parameters.
+   */
+  enum DataTag
+  {
+    DataTag_First = HYDROData_Object::DataTag_First + 100, ///< first tag, to reserve
+    DataTag_Operator,    ///< name of the operator that must be executed for image update
+    DataTag_TrsfPoints,  ///< image transformation points (3 input + 3 output)
+    DataTag_FilePath     ///< image imported file path
+  };
+
 public:
   DEFINE_STANDARD_RTTI(HYDROData_Image);
 
@@ -35,6 +47,17 @@ public:
    */
   HYDRODATA_EXPORT QImage Image();
 
+  /**
+   * Stores the image file path
+   * \param theFilePath image file path
+   */
+  HYDRODATA_EXPORT void SetFilePath(const QString& theFilePath);
+
+  /**
+   * Returns uploaded image file path
+   */
+  HYDRODATA_EXPORT QString GetFilePath() const;
+
   /**
    * Stores the image transformation
    * \param theTrsf new transformation
@@ -46,6 +69,38 @@ public:
    */
   HYDRODATA_EXPORT QTransform Trsf();
 
+  /**
+   * Stores the image transformation points (3 input + 3 output)
+   * \param thePointAIn input point A
+   * \param thePointBIn input point B
+   * \param thePointCIn input point C
+   * \param thePointAOut output point A
+   * \param thePointBOut output point B
+   * \param thePointCOut output point C
+   */
+  HYDRODATA_EXPORT void SetTrsfPoints(const QPoint& thePointAIn,
+                                      const QPoint& thePointBIn,
+                                      const QPoint& thePointCIn,
+                                      const QPointF& thePointAOut,
+                                      const QPointF& thePointBOut,
+                                      const QPointF& thePointCOut);
+
+  /**
+   * Returns the image transformation points (3 input + 3 output)
+   * \param thePointAIn input point A
+   * \param thePointBIn input point B
+   * \param thePointCIn input point C
+   * \param thePointAOut output point A
+   * \param thePointBOut output point B
+   * \param thePointCOut output point C
+   */
+  HYDRODATA_EXPORT void TrsfPoints(QPoint& thePointAIn,
+                                   QPoint& thePointBIn,
+                                   QPoint& thePointCIn,
+                                   QPointF& thePointAOut,
+                                   QPointF& thePointBOut,
+                                   QPointF& thePointCOut);
+
   /**
    * Appends reference to other image.
    * \param theReferenced the image referenced by this