+
+}
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DView::ConfigureFreePlanes()
+{
+
+ // The shared picker enables us to use 3 planes at one time
+ // and gets the picking order right
+ vtkCellPicker* picker = vtkCellPicker::New();
+ picker->SetTolerance(0.005);
+
+ // The 3 image plane widgets
+ _planeWidgetX = GetPlaneWidget('x', 1, 0, 0, picker);
+ _planeWidgetY = GetPlaneWidget('y', 1, 1, 0, picker);
+ _planeWidgetZ = GetPlaneWidget('z', 0, 0, 1, picker);
+
+ _planeWidgetY->SetLookupTable(_planeWidgetX->GetLookupTable());
+ _planeWidgetZ->SetLookupTable(_planeWidgetX->GetLookupTable());
+
+ picker->UnRegister(NULL);
+
+}
+
+//-------------------------------------------------------------------
+vtkImagePlaneWidget* wxVtkMPR3DView::GetPlaneWidget(unsigned char activationkey, double r, double g, double b, vtkCellPicker* picker)
+{
+ vtkProperty* prop1 = 0;
+ vtkImagePlaneWidget* planeWidget = 0;
+ planeWidget = vtkImagePlaneWidget::New();
+ planeWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
+ planeWidget->EnabledOff();
+ vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
+ int xMin = 0, xMax = 0, yMin = 0, yMax = 0, zMin = 0, zMax = 0;
+ double xSpacing = 0, ySpacing = 0, zSpacing = 0;
+ if(image){
+ planeWidget->SetInput( image );
+ image->GetExtent(xMin, xMax, yMin, yMax, zMin, zMax);
+ image->GetSpacing(xSpacing, ySpacing, zSpacing);