X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtk2DBaseView.cxx;h=33accb3a4dc960b35e03140ee00f81ea3df53fea;hb=00a6c465c4e2fd1111dbb10cc0d70846fa03eeaa;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..33accb3 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; } } @@ -88,13 +88,13 @@ 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 ); + SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() ); + } vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData(); @@ -154,13 +154,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 +173,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 +228,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(); +}