X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtk2DBaseView.cxx;h=e703115d09b08fa97a262b39cfe6158d7f74a1cb;hb=0e9c6cea471e235717da5cac8b924254ed3f4f75;hp=53bf04744c086cd71e34e37eb72281670ed24f8b;hpb=a4ee3758aa0477f677fb981e2c4d6e29995e8db8;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx index 53bf047..e703115 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx @@ -8,8 +8,8 @@ wxVtk2DBaseView::wxVtk2DBaseView(wxWindow *parent) :wxVtkBaseView(parent) { - _imageViewer2XYZ = NULL; - _vtkIinfoTextImage = NULL; + _imageViewer2XYZ = NULL; + _vtkIinfoTextImage = NULL; } //EED 5mai2009 @@ -18,12 +18,12 @@ wxVtk2DBaseView::~wxVtk2DBaseView() { if (_vtkIinfoTextImage!=NULL) { - delete _vtkIinfoTextImage; + delete _vtkIinfoTextImage; } if (_imageViewer2XYZ!=NULL) { - delete _imageViewer2XYZ; + delete _imageViewer2XYZ; } } @@ -75,7 +75,26 @@ void wxVtk2DBaseView::ResetView() _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 + ////////////// } @@ -88,13 +107,33 @@ void wxVtk2DBaseView::Configure(bool okimage) wxVtkBaseView::Configure(); // EED 17 Oct 2007 - if (_imageViewer2XYZ==NULL) - { - _imageViewer2XYZ = new vtkImageViewer2_XYZ(); - wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); - _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren ); - SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() ); - } + if (_imageViewer2XYZ==NULL) + { + _imageViewer2XYZ = new vtkImageViewer2_XYZ(); + wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor(); + _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren ); + + ////////////// + //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 + ////////////// + + } vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData(); @@ -154,13 +193,16 @@ void wxVtk2DBaseView::Configure(bool okimage) 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 @@ -170,37 +212,37 @@ void wxVtk2DBaseView::Configure(bool okimage) int wxVtk2DBaseView::GetActualSlice() // virtual { - return (int)(_vtkbasedata->GetZ()); + return (int)(_vtkbasedata->GetZ()); } //------------------------------------------------------------------- void wxVtk2DBaseView::SetActualSlice(int slice) // Virtual { - _vtkbasedata->SetZ(slice); + _vtkbasedata->SetZ(slice); } //------------------------------------------------------------------- vtkBaseData *wxVtk2DBaseView::GetVtkBaseData() { - return _vtkbasedata; + return _vtkbasedata; } //------------------------------------------------------------------- void wxVtk2DBaseView::SetVtkBaseData(vtkBaseData *vtkbasedata) { - _vtkbasedata=vtkbasedata; + _vtkbasedata=vtkbasedata; } //------------------------------------------------------------------- void wxVtk2DBaseView::Refresh() { - int z = (int)(GetVtkBaseData()->GetZ()); - _imageViewer2XYZ->SetZSlice( z ); + int z = (int)(GetVtkBaseData()->GetZ()); + _imageViewer2XYZ->SetZSlice( z ); - wxVtkBaseView::Refresh(); + wxVtkBaseView::Refresh(); } //------------------------------------------------------------------- @@ -225,18 +267,40 @@ void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *intera //--------------------------------------------------------------------------- vtkRenderer* wxVtk2DBaseView::GetRenderer() // virtual { - return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer(); + return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderer(); } //--------------------------------------------------------------------------- vtkRenderWindow* wxVtk2DBaseView::GetRenWin() // virtual { - return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderWindow(); + return _imageViewer2XYZ->GetVtkImageViewer2()->GetRenderWindow(); } //------------------------------------------------------------------- void wxVtk2DBaseView::GetSpacing(double spc[3]) // virtual { - vtkImageData *imageData = GetVtkBaseData()->GetImageData(); - imageData->GetSpacing(spc); -} \ No newline at end of file + vtkImageData *imageData = GetVtkBaseData()->GetImageData(); + imageData->GetSpacing(spc); +} + +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(); +}