diff Framework/Toolbox/ViewportGeometry.cpp @ 373:d6136a7e914d

making branch am-2 the new mainline
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 05 Nov 2018 10:06:18 +0100
parents f5d5814a41a0
children b70e9be013e4
line wrap: on
line diff
--- a/Framework/Toolbox/ViewportGeometry.cpp	Mon Nov 05 10:04:56 2018 +0100
+++ b/Framework/Toolbox/ViewportGeometry.cpp	Mon Nov 05 10:06:18 2018 +0100
@@ -121,7 +121,19 @@
   }
 
 
-  void ViewportGeometry::SetDefaultView()
+  void ViewportGeometry::MapPixelCenterToScene(double& sceneX,
+                                               double& sceneY,
+                                               int x,
+                                               int y) const
+  {
+    // Take the center of the pixel
+    MapDisplayToScene(sceneX, sceneY,
+                      static_cast<double>(x) + 0.5,
+                      static_cast<double>(y) + 0.5);
+  }
+
+
+  void ViewportGeometry::FitContent()
   {
     if (width_ > 0 &&
         height_ > 0 &&
@@ -167,4 +179,22 @@
     zoom_ = zoom;
     ComputeTransform();
   }
+
+
+  Matrix ViewportGeometry::GetMatrix() const
+  {
+    Matrix m(3, 3);
+
+    m(0, 0) = transform_.xx;
+    m(0, 1) = transform_.xy;
+    m(0, 2) = transform_.x0;
+    m(1, 0) = transform_.yx;
+    m(1, 1) = transform_.yy;
+    m(1, 2) = transform_.y0;
+    m(2, 0) = 0;
+    m(2, 1) = 0;
+    m(2, 2) = 1;
+    
+    return m;
+  }
 }