_imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
_imageViewer2XYZ->GetVtkImageViewer2()->Render();
- SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
+
+ //////////////
+ //RaC 04-2010 Look for the description of new changes in vtkInteractorStyleBaseView2D constructor.
+ //
+ // Previous version
+ // SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
+ //
+ // Actual version
+ vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New();
+
+ manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel();
+ style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel );
+
+ vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
+ style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
+
+ SetInteractorStyleImage( style2D );
+
+ // RaC
+ //////////////
}
_imageViewer2XYZ = new vtkImageViewer2_XYZ();
wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
_imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
- SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
+
+ //////////////
+ //RaC 04-2010 Look for the description of new changes in vtkInteractorStyleBaseView2D constructor.
+ //
+ // Previous version
+ // SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
+ //
+ // Actual version
+ vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New();
+
+ manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel();
+ style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel );
+
+ vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
+ style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
+
+ SetInteractorStyleImage( style2D );
+
+ // RaC
+ //////////////
}
if (okimage==true){
imageData->GetSpacing (spx,spy,spz);
imageData->GetExtent (x1,x2,y1,y2,z1,z2);
-
-
_imageViewer2XYZ->GetVtkImageViewer2()->SetInput(imageData );
_imageViewer2XYZ->SetExtentDimension(x1,x2,y1,y2,z1,z2);
double range[2];
- imageData->GetScalarRange(range);
- if (range[1]<20000){
+ imageData->GetScalarRange(range);
+ if (range[1]<20000){
_imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( (range[1]-range[0])/2 );
_imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( (range[1]+range[0])/4 );
- } else {
+ } else {
_imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( 1000 );
_imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( 500 );
- }
+ }
// EED 31 Janvier 2007
//vtkImageActor *vtkimageactor = _imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor ();
//vtkimageactor->InterpolateOff ();
camera->SetParallelScale( spx*(x2-x1)/3.0 );
// text information over the graphic window
- _vtkIinfoTextImage = new vtkInfoTextImage();
- _vtkIinfoTextImageInteractor = new vtkInfoTextImageInteractor();
+ if(_vtkIinfoTextImage == NULL){
+ _vtkIinfoTextImage = new vtkInfoTextImage();
+ _vtkIinfoTextImageInteractor = new vtkInfoTextImageInteractor();
+ ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
+ }
_vtkIinfoTextImage->SetWxVtk2DBaseView(this);
_vtkIinfoTextImage->SetMarImageData( GetVtkBaseData()->GetMarImageData() );
- _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);
+ _vtkIinfoTextImageInteractor->SetModelVtkInfoTextImage(_vtkIinfoTextImage);
_vtkIinfoTextImage->Configure();
- ((vtkInteractorStyleBaseView*)this->GetInteractorStyleBaseView())->AddInteractorStyleMaracas(_vtkIinfoTextImageInteractor);
+
} // okimage
} // imageData
-
}
//-------------------------------------------------------------------
void wxVtk2DBaseView::setColorTransferFunction(vtkColorTransferFunction* colortable){
if(_imageViewer2XYZ!=NULL){
_imageViewer2XYZ->setColorTransferFunction(colortable);
+ this->Refresh();
}
}
+
+void wxVtk2DBaseView::setWindowLevel(double level){
+// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);
+
+ vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
+ imagemaptowindowlevel->SetWindow(level);
+ this->Refresh();
+}
+
+void wxVtk2DBaseView::setColorLevel(double level){
+// _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level);
+ vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
+ imagemaptowindowlevel->SetLevel(level);
+ this->Refresh();
+}