+// -------------------------------------------------------------------------
+cpPlugins::Interface::BaseMPRWidget::Data::
+Data( )
+{
+ this->Tag = Data::IMAGE;
+ this->Source = NULL;
+ this->Image = NULL;
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::Interface::BaseMPRWidget::Data::
+~Data( )
+{
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::Interface::BaseMPRWidget::
+Data& cpPlugins::Interface::BaseMPRWidget::Data::
+operator=( const Data& data )
+{
+ this->Tag = data.Tag;
+ this->Source = data.Source;
+ if( this->Tag == Data::IMAGE )
+ this->Image = data.Image;
+ else if( this->Tag == Data::MESH )
+ this->Mesh = data.Mesh;
+ return( *this );
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::Interface::
+DataObject* cpPlugins::Interface::BaseMPRWidget::Data::
+GetSourceDataObject( )
+{
+ return( this->Source );
+}
+
+// -------------------------------------------------------------------------
+const cpPlugins::Interface::
+DataObject* cpPlugins::Interface::BaseMPRWidget::Data::
+GetSourceDataObject( ) const
+{
+ return( this->Source );
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins::Interface::BaseMPRWidget::Data::
+SetSourceDataObject( cpPlugins::Interface::DataObject* dobj )
+{
+ typedef cpPlugins::Interface::Image _TImage;
+ typedef cpPlugins::Interface::Mesh _TMesh;
+
+ this->Source = dobj;
+ _TImage* image = dynamic_cast< _TImage* >( dobj );
+ if( image != NULL )
+ {
+ this->Tag = Data::IMAGE;
+ this->Image = image->GetVTK< vtkImageData >( );
+ }
+ else
+ {
+ _TMesh* mesh = dynamic_cast< _TMesh* >( dobj );
+ if( mesh == NULL )
+ return;
+
+ this->Tag = Data::MESH;
+ this->Mesh.Configure( mesh->GetVTK< vtkPolyData >( ) );
+
+ } // fi
+}
+
+// -------------------------------------------------------------------------
+vtkImageData* cpPlugins::Interface::BaseMPRWidget::Data::
+GetImage( )
+{
+ if( this->Tag == Data::IMAGE )
+ return( this->Image );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+vtkPolyData* cpPlugins::Interface::BaseMPRWidget::Data::
+GetMesh( )
+{
+ if( this->Tag == Data::MESH )
+ return( this->Mesh.Mesh );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+vtkProp* cpPlugins::Interface::BaseMPRWidget::Data::
+GetMeshActor( )
+{
+ if( this->Tag == Data::MESH )
+ return( this->Mesh.Actor );
+ else
+ return( NULL );
+}
+