+// -------------------------------------------------------------------------
+void cpExtensions::QT::ImageWidget::
+ResetCamera( )
+{
+ if( this->m_WLActor.GetPointer( ) != NULL )
+ {
+ auto image = this->m_WLActor->GetImage( );
+ if( image != NULL )
+ {
+ double bounds[ 6 ];
+ image->GetBounds( bounds );
+
+ // Compute camera properties
+ double center[ 3 ];
+ center[ 0 ] = ( bounds[ 1 ] + bounds[ 0 ] ) / double( 2 );
+ center[ 1 ] = ( bounds[ 3 ] + bounds[ 2 ] ) / double( 2 );
+ center[ 2 ] = ( bounds[ 5 ] + bounds[ 4 ] ) / double( 2 );
+
+ int ori = this->m_WLActor->GetOrientation( );
+ double pos[ 3 ] = { double( 0 ) };
+ pos[ ori ] = double( 1 );
+ pos[ 0 ] += center[ 0 ];
+ pos[ 1 ] += center[ 1 ];
+ pos[ 2 ] += center[ 2 ];
+
+ double up[ 3 ] = { double( 0 ) };
+ if( ori == 0 )
+ {
+ if ( this->m_Quadrant == 0 ) up[ 2 ] = double( 1 );
+ else if( this->m_Quadrant == 1 ) up[ 2 ] = double( 1 );
+ else if( this->m_Quadrant == 2 ) up[ 2 ] = double( 1 );
+ else if( this->m_Quadrant == 3 ) up[ 2 ] = double( 1 );
+ }
+ else if( ori == 1 )
+ {
+ if ( this->m_Quadrant == 0 ) up[ 2 ] = double( 1 );
+ else if( this->m_Quadrant == 1 ) up[ 2 ] = double( 1 );
+ else if( this->m_Quadrant == 2 ) up[ 2 ] = double( 1 );
+ else if( this->m_Quadrant == 3 ) up[ 2 ] = double( 1 );
+ }
+ else if( ori == 2 )
+ {
+ if ( this->m_Quadrant == 0 ) up[ 1 ] = double( 1 );
+ else if( this->m_Quadrant == 1 ) up[ 1 ] = double( 1 );
+ else if( this->m_Quadrant == 2 ) up[ 1 ] = double( 1 );
+ else if( this->m_Quadrant == 3 ) up[ 1 ] = double( 1 );
+ pos[ 2 ] *= double( -1 );
+
+ } // fi
+
+ // Reconfigure camera and return
+ auto camera = this->m_Renderer->GetActiveCamera( );
+ camera->ParallelProjectionOn( );
+ camera->SetFocalPoint( center );
+ camera->SetPosition( pos );
+ camera->SetViewUp( up );
+ this->m_Renderer->ResetCamera( bounds );
+ }
+ else
+ this->Superclass::ResetCamera( );
+ }
+ else
+ this->Superclass::ResetCamera( );
+}
+
+// -------------------------------------------------------------------------
+cpExtensions::QT::ImageWidget::
+TWLActor* cpExtensions::QT::ImageWidget::
+GetImageActor( )
+{
+ return( this->m_WLActor );
+}
+
+// -------------------------------------------------------------------------
+const cpExtensions::QT::ImageWidget::
+TWLActor* cpExtensions::QT::ImageWidget::
+GetImageActor( ) const
+{
+ return( this->m_WLActor );
+}
+