#include "vtkInfoTextImageInteractor.h" #include "wxVtk2DBaseView.h" //------------------------------------------------------------------- //------------------------------------------------------------------- //------------------------------------------------------------------- vtkInfoTextImageInteractor::vtkInfoTextImageInteractor() { } //------------------------------------------------------------------- vtkInfoTextImageInteractor::~vtkInfoTextImageInteractor() { } //------------------------------------------------------------------- void vtkInfoTextImageInteractor::SetModelVtkInfoTextImage(vtkInfoTextImage *vtkinfotextimage) { _vtkinfotextimage = vtkinfotextimage; } //------------------------------------------------------------------- bool vtkInfoTextImageInteractor::OnMouseMove() { int X,Y; wxVTKRenderWindowInteractor *wxVTKiren; wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor(); wxVTKiren->GetEventPosition(X,Y); /*JCP 14/05/2009 * int z = (int)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetVtkBaseData()->GetZ());*/ double xx,yy,zz; int z = (int)((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetZ(); xx=X; yy=Y; zz=z; _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransFromCoordScreenToWorld(xx,yy,zz,true); GetVtkInfoTextImage()->PutWindowLevel(); GetVtkInfoTextImage()->PutColorLevel(); int tempext[6]; ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData()->GetExtent(tempext); if(tempext[0] <= xx && xx <= tempext[1] && tempext[2] <= yy && yy <= tempext[3]){ GetVtkInfoTextImage()->PutPosition( (int)xx , (int)yy , (int)zz ); GetVtkInfoTextImage()->PutPixelIntensity( (int)xx , (int)yy , (int)zz ); } this->_vtkInteractorStyleBaseView->SetRefresh_waiting(); return true; } //------------------------------------------------------------------- vtkInfoTextImage *vtkInfoTextImageInteractor::GetVtkInfoTextImage() { return _vtkinfotextimage; }