From de28ababf60ed57a0f4381c159a2ee8c7515b213 Mon Sep 17 00:00:00 2001 From: Juan Prieto Date: Fri, 13 Nov 2009 08:51:59 +0000 Subject: [PATCH] *** empty log message *** --- .../src/bbmaracasvisuTransferFunctionView.cxx | 3 ++- .../widgets/manualInteractorWindowLevel.cxx | 25 +++++++++++++++++-- .../wxWindows/widgets/vtkImageViewer2_XYZ.cxx | 4 ++- .../wxWindows/widgets/vtkImageViewer2_XYZ.h | 1 + 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/bbtk/src/bbmaracasvisuTransferFunctionView.cxx b/bbtk/src/bbmaracasvisuTransferFunctionView.cxx index 569e80f..5d2e294 100644 --- a/bbtk/src/bbmaracasvisuTransferFunctionView.cxx +++ b/bbtk/src/bbmaracasvisuTransferFunctionView.cxx @@ -66,7 +66,8 @@ void TransferFunctionView::onColorChange(){ } bbSignalOutputModification(); - + + _tfun->Update(); bbSetOutputOpacityFunction(_tfun); bbSetOutputColorFunction(_ctfun); } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx index 0be3029..20615fb 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx @@ -31,8 +31,29 @@ bool manualInteractorWindowLevel::OnMouseMove() // virtual wxVTKRenderWindowInteractor *wxVTKiren; wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor(); wxVTKiren->GetEventPosition( tmpPx , tmpPy ); - int colorWin=_backWindow - 2*( _backPx - tmpPx ); - int colorLev=_backLevel + 2*( _backPy - tmpPy ); + + + int colorWin; + int colorLev; + + + vtkImageData* imgrange = ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData(); + + if(imgrange != NULL){ + double* scalarrange = imgrange->GetScalarRange(); + double scalarr = scalarrange[1] - scalarrange[0]; + //std::cout<<"scalar r="<GetSize(&w, &h); + int dx = (scalarr*( _backPx - tmpPx ))/w; + int dy = (scalarr*( _backPy - tmpPy ))/h; + //colorWin=_backWindow - (scalarr)*( _backPx - tmpPx ); + colorWin=_backWindow - dx; + colorLev=_backLevel + dy; + }else{ + colorWin=_backWindow - 2*( _backPx - tmpPx ); + colorLev=_backLevel + 2*( _backPy - tmpPy ); + } if (colorWin<0) { diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx index c692f96..faea792 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.cxx @@ -10,6 +10,7 @@ vtkImageViewer2_XYZ::vtkImageViewer2_XYZ() _vtkimageviewer2->GetRenderer()->GradientBackgroundOn(); _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 ); _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 ); + _colortable = NULL; } //------------------------------------------------------------------- vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ() @@ -89,7 +90,8 @@ void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* col vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel(); - if(colortable!=NULL&&colortable->GetSize()>0){ + if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){ + _colortable = colortable; imagemaptowindowlevel->SetLookupTable(colortable); } diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.h index 472ac9b..24cb363 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkImageViewer2_XYZ.h @@ -29,6 +29,7 @@ public: private: int _x1,_x2,_y1,_y2,_z1,_z2; vtkImageViewer2 *_vtkimageviewer2; + vtkColorTransferFunction* _colortable; protected: }; -- 2.46.0