+ QTransform Trsf() const;
+
+ /**
+ * Updates the matrix of transformation in accordance with reference points.
+ * \param theTrsf new transformation
+ */
+ void UpdateTrsf();
+
+
+ /**
+ * Returns true if transformation is done by two points only
+ */
+ bool IsByTwoPoints() const;
+
+
+ /**
+ * Removes all references from this image.
+ */
+ bool HasReferences() const;
+
+ /**
+ * Removes all references from this image.
+ */
+ void RemoveAllReferences();
+
+
+ /**
+ * Stores the transformation points in local cs of image
+ * \param thePointA point A
+ * \param thePointB point B
+ * \param thePointC point C
+ */
+ void SetLocalPoints( const QPoint& thePointA,
+ const QPoint& thePointB,
+ const QPoint& thePointC = QPoint( INT_MIN, INT_MIN ),
+ const bool theIsUpdate = true );
+
+ /**
+ * Returns the transformation points in local cs of image
+ * \param thePointA point A
+ * \param thePointB point B
+ * \param thePointC point C
+ * \return true if all parameters has been set before
+ */
+ bool GetLocalPoints( QPoint& thePointA /Out/,
+ QPoint& thePointB /Out/,
+ QPoint& thePointC /Out/ ) const;
+
+ /**
+ * Returns true if local points has been set before
+ */
+ bool HasLocalPoints() const;
+
+
+ /**
+ * Stores the transformation points in global cs
+ * \param theMode transformation mode
+ * \param thePointA point A
+ * \param thePointB point B
+ * \param thePointC point C
+ */
+ void SetGlobalPoints( const TransformationMode& theMode,
+ const QPointF& thePointA,
+ const QPointF& thePointB,
+ const QPointF& thePointC = QPoint( INT_MIN, INT_MIN ),
+ const bool theIsUpdate = true );