/*JCP 14/05/2009
* int z = (int)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetVtkBaseData()->GetZ());*/
- int z = (int)((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetZ();
- double xx=X,yy=Y,zz=z;
- _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->TransfromeCoordScreenToWorld(xx,yy,zz);
+ double dxx,dyy,dzz;
+ double ixx,iyy,izz;
+
+ int z = (int)((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetZ();
+ dxx=X;
+ dyy=Y;
+ dzz=z;
+
+ _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;