vtkInfoTextImageInteractor.cxx
Go to the documentation of this file.00001 #include "vtkInfoTextImageInteractor.h"
00002
00003 #include "wxVtk2DBaseView.h"
00004
00005
00006
00007
00008
00009 vtkInfoTextImageInteractor::vtkInfoTextImageInteractor()
00010 {
00011 }
00012
00013
00014 vtkInfoTextImageInteractor::~vtkInfoTextImageInteractor()
00015 {
00016 }
00017
00018
00019
00020 void vtkInfoTextImageInteractor::SetModelVtkInfoTextImage(vtkInfoTextImage *vtkinfotextimage)
00021 {
00022 _vtkinfotextimage = vtkinfotextimage;
00023 }
00024
00025
00026 bool vtkInfoTextImageInteractor::OnMouseMove()
00027 {
00028 int X,Y;
00029 wxVTKRenderWindowInteractor *wxVTKiren;
00030 wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor();
00031 wxVTKiren->GetEventPosition(X,Y);
00032
00033
00034
00035
00036 double dxx,dyy,dzz;
00037 double ixx,iyy,izz;
00038
00039 int z = (int)((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetZ();
00040 dxx=X;
00041 dyy=Y;
00042 dzz=z;
00043
00044 _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransFromCoordScreenToWorld(dxx,dyy,dzz,true);
00045
00046
00047 GetVtkInfoTextImage()->PutWindowLevel();
00048 GetVtkInfoTextImage()->PutColorLevel();
00049
00050 int tempext[6];
00051 ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData()->GetExtent(tempext);
00052
00053 if(tempext[0] <= dxx && dxx <= tempext[1] && tempext[2] <= dyy && dyy <= tempext[3])
00054 {
00055 ixx=(int)(dxx+0.5);
00056 iyy=(int)(dyy+0.5);
00057 izz=(int)(dzz+0.0);
00058 GetVtkInfoTextImage()->PutPosition( ixx , iyy , izz );
00059 GetVtkInfoTextImage()->PutPixelIntensity( ixx , iyy , izz );
00060 }
00061
00062 this->_vtkInteractorStyleBaseView->SetRefresh_waiting();
00063 return true;
00064 }
00065
00066
00067 vtkInfoTextImage *vtkInfoTextImageInteractor::GetVtkInfoTextImage()
00068 {
00069 return _vtkinfotextimage;
00070 }