+//-------------------------------------------------------------------
+vtkImagePlaneWidget* wxVtkMPR3DView::GetPlaneWidget(unsigned char activationkey, double r, double g, double b, vtkCellPicker* picker)
+{
+ vtkProperty* prop1 = 0;
+ vtkImagePlaneWidget* planeWidget = 0;
+ planeWidget = vtkImagePlaneWidget::New();
+ planeWidget->EnabledOff();
+ planeWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
+ vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
+ planeWidget->SetInput( image );
+
+
+ int xMin, xMax, yMin, yMax, zMin, zMax;
+ image->GetExtent(xMin, xMax, yMin, yMax, zMin, zMax);
+ double xSpacing, ySpacing, zSpacing;
+ image->GetSpacing(xSpacing, ySpacing, zSpacing);
+
+ if (activationkey=='x')
+ {
+ planeWidget->SetPlaneOrientationToXAxes();
+ planeWidget->SetSlicePosition((xMax+xMin)/2.*xSpacing);
+ }
+
+ if (activationkey=='y')
+ {
+ planeWidget->SetPlaneOrientationToYAxes();
+ planeWidget->SetSlicePosition((yMax+yMin)/2.*ySpacing);
+ }
+
+ if (activationkey=='z')
+ {
+ planeWidget->SetPlaneOrientationToZAxes();
+ planeWidget->SetSlicePosition((zMax+zMin)/2.*zSpacing);
+ }
+
+ planeWidget->DisplayTextOn();
+ planeWidget->SetPicker(picker);
+ planeWidget->SetKeyPressActivationValue(activationkey);
+ prop1 = planeWidget->GetPlaneProperty();
+ prop1->SetColor(r, g, b);
+ return planeWidget;