diff Framework/Radiography/RadiographyLayer.cpp @ 1259:69177b10e2b9

various fixes for RadiographyScene: support text layers outside the dicom layer, fix background in this case + extract dicom from rendered scene
author Alain Mazy <alain@mazy.be>
date Tue, 21 Jan 2020 16:52:37 +0100
parents 35e798b16b65
children 2d8ab34c8c91 a989c7d46b9a
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyLayer.cpp	Tue Jan 14 15:22:10 2020 +0100
+++ b/Framework/Radiography/RadiographyLayer.cpp	Tue Jan 21 16:52:37 2020 +0100
@@ -59,15 +59,15 @@
 
   void RadiographyLayer::UpdateTransform()
   {
+    // important to update transform_ before getting the center to use the right scaling !!!
     transform_ = AffineTransform2D::CreateScaling(geometry_.GetScalingX(), geometry_.GetScalingY());
 
     double centerX, centerY;
     GetCenter(centerX, centerY);
 
     transform_ = AffineTransform2D::Combine(
-          AffineTransform2D::CreateOffset(geometry_.GetPanX() + centerX, geometry_.GetPanY() + centerY),
-          AffineTransform2D::CreateRotation(geometry_.GetAngle()),
-          AffineTransform2D::CreateOffset(-centerX, -centerY),
+          AffineTransform2D::CreateOffset(geometry_.GetPanX(), geometry_.GetPanY()),
+          AffineTransform2D::CreateRotation(geometry_.GetAngle(), centerX, centerY),
           transform_);
 
     transformInverse_ = AffineTransform2D::Invert(transform_);