+ } // rof
+ if( !has_main_image )
+ this->m_Renderers[ 3 ]->ResetCamera( );
+ this->m_VTK[ 3 ]->GetRenderWindow( )->Render( );
+ */
+}
+
+// -------------------------------------------------------------------------
+void cpExtensions::QT::SimpleMPRWidget::
+AddMeshActor( vtkProp3D* actor, const std::string& name )
+{
+ if( actor != NULL )
+ {
+ std::cout << name << " " << actor << std::endl;
+
+ this->m_Renderers[ 3 ]->AddViewProp( actor );
+ this->m_VTK[ 3 ]->GetRenderWindow( )->Render( );
+ this->m_NamedActors[ name ].insert( actor );
+ std::cout << "Size: " << this->m_NamedActors.size( ) << " " << this->m_NamedActors[ name ].size( ) << std::endl;
+
+
+ double bounds[ 6 ];
+ this->m_Renderers[ 3 ]->ComputeVisiblePropBounds( bounds );
+ std::cout
+ << bounds[ 0 ] << " " << bounds[ 1 ] << " "
+ << bounds[ 2 ] << " " << bounds[ 3 ] << " "
+ << bounds[ 4 ] << " " << bounds[ 5 ] << std::endl;
+
+ } // fi
+}
+
+// -------------------------------------------------------------------------
+void cpExtensions::QT::SimpleMPRWidget::
+AddActor( vtkProp* actor, const std::string& name )
+{
+ auto ia = dynamic_cast< vtkImageActor* >( actor );
+ if( ia == NULL )
+ {
+ auto ma = dynamic_cast< vtkProp3D* >( actor );
+ if( ma != NULL )
+ this->AddMeshActor( ma, name );
+ }
+ else
+ this->AddImageActor( ia, name );
+}
+
+// -------------------------------------------------------------------------
+const cpExtensions::QT::SimpleMPRWidget::
+TActors& cpExtensions::QT::SimpleMPRWidget::
+GetActors( const std::string& name ) const
+{
+ static const TActors empty;
+ auto i = this->m_NamedActors.find( name );
+ if( i != this->m_NamedActors.end( ) )
+ return( i->second );
+ else
+ return( empty );
+}
+
+// -------------------------------------------------------------------------
+vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget::
+GetInteractor( unsigned int i )
+{
+ if( i < 4 )
+ return( this->m_VTK[ i ]->GetRenderWindow( )->GetInteractor( ) );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+vtkRenderer* cpExtensions::QT::SimpleMPRWidget::
+GetRenderer( unsigned int i )
+{
+ if( i < 4 )
+ return( this->m_Renderers[ i ] );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget::
+GetRenderWindow( unsigned int i )
+{
+ if( i < 4 )
+ {
+ if( this->m_Renderers[ i ].GetPointer( ) != NULL )
+ return( this->m_Renderers[ i ]->GetRenderWindow( ) );
+ else
+ return( NULL );
+ }
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+/* TODO
+ std::vector< std::pair< vtkImageActor*, vtkRenderer* > >
+ cpExtensions::QT::SimpleMPRWidget::
+ GetMainImageActors( )
+ {
+ std::vector< std::pair< vtkImageActor*, vtkRenderer* > > actors;
+ for( unsigned int i = 0; i < 3; ++i )
+ {
+ actors.push_back(
+ std::pair< vtkImageActor*, vtkRenderer* >(
+ this->m_2DSlices[ i ]->GetImageActor( ),
+ this->m_Renderers[ i ]
+ )
+ );
+ actors.push_back(
+ std::pair< vtkImageActor*, vtkRenderer* >(
+ this->m_3DSlices[ i ]->GetImageActor( ),
+ this->m_Renderers[ 3 ]
+ )
+ );
+
+ } // rof
+ return( actors );
+ }
+*/
+
+// -------------------------------------------------------------------------
+/* TODO
+ vtkActor* cpExtensions::QT::SimpleMPRWidget::
+ GetActor( vtkPolyData* mesh )
+ {
+ auto i = this->m_PolyDatas.find( mesh );
+ if( i != this->m_PolyDatas.end( ) )
+ return( i->second.Actor.GetPointer( ) );
+ else
+ return( NULL );
+ }
+*/
+
+// -------------------------------------------------------------------------
+void cpExtensions::QT::SimpleMPRWidget::
+_AssociateSlices( )
+{