X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkInfoTextImageInteractor.cxx;h=4c82218a81b93af437b8d9dc1435f34583e9dd1f;hb=096822cf3513065cfa25e378679339a5ae4684cf;hp=809a8bbf5f79811d5f0dd4bb28eb0b3c3b4cf384;hpb=4df00b156385a2dd881c35fd7561ef9eb0885ee0;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImageInteractor.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImageInteractor.cxx index 809a8bb..4c82218 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImageInteractor.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInfoTextImageInteractor.cxx @@ -33,20 +33,31 @@ bool vtkInfoTextImageInteractor::OnMouseMove() /*JCP 14/05/2009 * int z = (int)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetVtkBaseData()->GetZ());*/ - double xx,yy,zz; + double dxx,dyy,dzz; + double ixx,iyy,izz; int z = (int)((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetZ(); - xx=X; - yy=Y; - zz=z; + dxx=X; + dyy=Y; + dzz=z; - _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransfromeCoordScreenToWorld(xx,yy,zz); + _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransFromCoordScreenToWorld(dxx,dyy,dzz,true); GetVtkInfoTextImage()->PutWindowLevel(); GetVtkInfoTextImage()->PutColorLevel(); - GetVtkInfoTextImage()->PutPosition( (int)xx , (int)yy , (int)zz ); - GetVtkInfoTextImage()->PutPixelIntensity( (int)xx , (int)yy , (int)zz ); + + int tempext[6]; + ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData()->GetExtent(tempext); + + if(tempext[0] <= dxx && dxx <= tempext[1] && tempext[2] <= dyy && dyy <= tempext[3]) + { + ixx=(int)(dxx+0.5); + iyy=(int)(dyy+0.5); + izz=(int)(dzz+0.0); + GetVtkInfoTextImage()->PutPosition( ixx , iyy , izz ); + GetVtkInfoTextImage()->PutPixelIntensity( ixx , iyy , izz ); + } this->_vtkInteractorStyleBaseView->SetRefresh_waiting(); return true;