+ _wxvtk3Dbaseview->Configure();
+ _wxvtkmpr3DviewCntrlPanel->UpdateControlPanel();
+
+//EED ?????? 07Mai2009
+// _wxvtk3Dbaseview->GetRenderer()->Clear();
+
+
+ // Actors are added to the renderer.
+ vtkActor* _outlineActor = _vtkmpr3Ddataviewer->GetOutlineActor();
+ _wxvtk3Dbaseview->GetRenderer()->AddActor( _outlineActor );
+// _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(0) ); // _saggital
+// _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(1) ); // _axial
+// _wxvtk3Dbaseview->GetRenderer()->AddActor( _vtkmpr3Ddataviewer->GetImageActor(2) ); // _coronal
+
+
+ // An initial camera view is created. The Dolly() method moves
+ // the camera towards the FocalPoint, thereby enlarging the image.
+ _wxvtk3Dbaseview->GetRenderer()->SetActiveCamera(_wxvtk3Dbaseview->GetCamera());
+ this->ResetCamera();
+
+
+ // Set a background color for the renderer and set the size of the
+ // render window (expressed in pixels).
+ _wxvtk3Dbaseview->GetRenderer()->SetBackground( 0.36 , 0.36 , 0.36 );
+ _wxvtk3Dbaseview->GetRenWin()->SetSize(400, 400);
+
+ // Note that when camera movement occurs (as it does in the Dolly()
+ // method), the clipping planes often need adjusting. Clipping planes
+ // consist of two planes: near and far along the view direction. The
+ // near plane clips out objects in front of the plane; the far plane
+ // clips out objects behind the plane. This way only what is drawn
+ // between the planes is actually rendered.
+ _wxvtk3Dbaseview->GetRenderer()->ResetCameraClippingRange();
+
+
+ // vtkPointWidget
+ if(_myCallback!=NULL){
+ _myCallback->Delete();
+
+ }
+ _myCallback = vtkmyPWCallback_3DPointWidget::New();
+ _myCallback->SetWxVtkMPR3DView(this);
+
+ if(_pointWidget!=NULL){
+ _pointWidget->Delete();
+ }
+ _pointWidget = vtkPointWidget::New();
+ _myCallback->SetVtkPointWidget(_pointWidget);
+ _pointWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
+ _pointWidget->SetInput( GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData() );
+
+ _pointWidget->AllOff();
+
+ _pointWidget->PlaceWidget();
+// _pointWidget->SetPosition( x,y,z );
+
+//EED01 29Mars2009
+// MACOS probleme vtk-window out of wx-window
+// _pointWidget->On();
+
+ _pointWidget->AddObserver(vtkCommand::InteractionEvent,_myCallback);
+
+
+// PlaneWidget
+ if(_planeWidget!=NULL){
+ _planeWidget->Delete();
+ }
+ _planeWidget = vtkPlaneWidget::New();
+ _myCallback->SetVtkPlaneWidget(_planeWidget);
+ _planeWidget->SetInput( GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData() );
+ _planeWidget->NormalToXAxisOn();
+ _planeWidget->SetResolution(50);
+ _planeWidget->SetRepresentationToOutline();
+ int dim[3];
+ GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData()->GetDimensions(dim);
+ int px=(dim[0]/2);
+ int py=(dim[1]/2);
+ int pz=(dim[2]/2);
+ int dd=20;
+ _planeWidget->PlaceWidget( px-dd , px+dd , py-dd , py+dd , pz-dd , pz+dd );
+
+
+ if(_vtkplane==NULL){
+ _vtkplane = vtkPolyData::New();
+
+ _probe = vtkProbeFilter::New();
+ _probe->SetInput(_vtkplane);
+
+ _contourMapper = vtkPolyDataMapper::New();
+
+ _contourMapper->SetInput( _probe->GetPolyDataOutput() );
+
+ _contourPlaneActor = vtkActor::New();
+ _contourPlaneActor->SetMapper(_contourMapper);
+
+ _contourPlaneActor->VisibilityOff();
+
+ _planeWidget->SetInteractor( GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor() );
+ _planeWidget->AddObserver(vtkCommand::InteractionEvent,_myCallback);
+
+ _planeWidget->Off();
+ _wxvtk3Dbaseview->GetRenderer()->AddActor( _contourPlaneActor );
+
+ }else{
+
+ }
+ _planeWidget->GetPolyData(_vtkplane);
+
+
+ vtkImageData *imageData = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
+ _probe->SetSource( imageData );
+
+
+ _contourMapper->SetScalarRange( imageData->GetScalarRange() );
+
+
+
+
+}