Mercurial > hg > orthanc-stone
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; + } }