From 0fae2b17b79557661e86238840d0af6da5ddc597 Mon Sep 17 00:00:00 2001 From: Stephane Albert <stephane.albert@c-s.fr> Date: Thu, 26 Mar 2015 12:17:33 +0100 Subject: [PATCH] ENH: Fixed mirror effect (spacing sign) when zooming to layer extent. --- Code/Common/Gui/mvdImageViewWidget.cxx | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/Code/Common/Gui/mvdImageViewWidget.cxx b/Code/Common/Gui/mvdImageViewWidget.cxx index e5617c1609..cee04b850f 100644 --- a/Code/Common/Gui/mvdImageViewWidget.cxx +++ b/Code/Common/Gui/mvdImageViewWidget.cxx @@ -813,26 +813,6 @@ ImageViewWidget center.SetToMidPoint( origin, extent ); - // - // Get spacing of layer. - const AbstractLayerModel * layer = GetLayerStack()->GetCurrent(); - assert( layer!=NULL ); - - if( layer->inherits( AbstractImageModel::staticMetaObject.className() ) ) - { - const AbstractImageModel * imageModel = - qobject_cast< const AbstractImageModel * >( layer ); - - assert( imageModel!=NULL ); - - spacing = imageModel->GetSpacing(); - - assert( spacing[ 0 ]!=0.0 ); - assert( spacing[ 1 ]!=0.0 ); - } - else - assert( false && "Unhandled AbstractLayerModel derived type." ); - // // Get Viewport size. SizeType size( m_Manipulator->GetViewportSize() ); @@ -845,6 +825,11 @@ ImageViewWidget fabs( extent[ 1 ] - origin[ 1 ] ) / static_cast< double >( size[ 1 ] ) ); + // + // Get spacing of layer in viewport system. + spacing[ 0 ] = ( extent[ 0 ] - origin[ 0 ] ) / size[ 0 ]; + spacing[ 1 ] = ( extent[ 1 ] - origin[ 1 ] ) / size[ 1 ]; + // // Calculate spacing. // -- GitLab