+ case PointA:
+ aPoint = QPoint( 0, 0 );
+ aCaption = "A";
+ aColor = Qt::darkRed;
+ break;
+ case PointB:
+ aPoint = QPoint( aWidth, 0 );
+ aCaption = "B";
+ aColor = Qt::darkGreen;
+ break;
+ case PointC:
+ aPoint = QPoint( 0, aHeight );
+ aCaption = "C";
+ aColor = Qt::darkBlue;
+ break;
+ }
+
+ TransformationPoint aTransformationPoint;
+ if ( myTransformationPointMap.contains( thePointType ) )
+ aTransformationPoint = myTransformationPointMap[thePointType];
+
+ aTransformationPoint.Point = aPoint;
+ aTransformationPoint.Caption = aCaption;
+ if ( !aTransformationPoint.GroupItem )
+ aTransformationPoint.GroupItem = createPointItem( aCaption, aColor );
+ aTransformationPoint.GroupItem->setPos( aPoint );
+
+ myTransformationPointMap[ thePointType ] = aTransformationPoint;
+}
+
+//================================================================
+// Function : updateTrsfPoint
+// Purpose :
+//================================================================
+void HYDROGUI_PrsImage::updateTrsfPoint( const int thePointType )
+{
+ // If image is transformed only by two points then the point C is invisible
+ bool anIsPointVisible = myIsTransformationPointPreview && (
+ ( !myIsByTwoPoints ) || ( myIsByTwoPoints && ( thePointType != PointC ) ) );
+
+ TransformationPoint& aTransformationPoint = myTransformationPointMap[ thePointType ];
+
+ const QPointF& aPoint = aTransformationPoint.Point;
+ aTransformationPoint.GroupItem->setPos( aPoint );
+ aTransformationPoint.GroupItem->setVisible( anIsPointVisible );
+}