Index: vtkImagePlaneWidget.h =================================================================== RCS file: /cvsroot/VTK/VTK/Hybrid/vtkImagePlaneWidget.h,v retrieving revision 1.45 diff -u -r1.45 vtkImagePlaneWidget.h --- vtkImagePlaneWidget.h 9 Dec 2004 22:00:30 -0000 1.45 +++ vtkImagePlaneWidget.h 22 Jun 2005 11:45:36 -0000 @@ -355,6 +355,23 @@ int GetCursorData(double xyzv[4]); // Description: + // Get the status of the cursor data. If this returns 1 the + // CurrentCursorPosition and CurrentImageValue will have current + // data. If not, these values are invalid. + int GetCursorDataStatus(); + + // Description: + // Get the current cursor position. To be used in conjunction with + // GetCursorDataStatus. + vtkGetVectorMacro(CurrentCursorPosition,double,3); + + // Description: + // Get the current image value at the current cursor position. To + // be used in conjunction with GetCursorDataStatus. The value is + // VTK_DOUBLE_MAX when the data is invalid. + vtkGetMacro(CurrentImageValue,double); + + // Description: // Choose between voxel centered or continuous cursor probing. With voxel // centered probing, the cursor snaps to the nearest voxel and the reported // cursor coordinates are extent based. With continuous probing, voxel data @@ -402,11 +419,11 @@ CONTROL_MODIFIER = 2 }; //ETX - vtkSetClampMacro(LeftButtonAutoModifier,int, SHIFT_MODIFIER, CONTROL_MODIFIER); + vtkSetClampMacro(LeftButtonAutoModifier,int, NO_MODIFIER, CONTROL_MODIFIER); vtkGetMacro(LeftButtonAutoModifier, int); - vtkSetClampMacro(MiddleButtonAutoModifier,int, SHIFT_MODIFIER, CONTROL_MODIFIER); + vtkSetClampMacro(MiddleButtonAutoModifier,int, NO_MODIFIER, CONTROL_MODIFIER); vtkGetMacro(MiddleButtonAutoModifier, int); - vtkSetClampMacro(RightButtonAutoModifier,int, SHIFT_MODIFIER, CONTROL_MODIFIER); + vtkSetClampMacro(RightButtonAutoModifier,int, NO_MODIFIER, CONTROL_MODIFIER); vtkGetMacro(RightButtonAutoModifier, int); protected: Index: vtkImagePlaneWidget.cxx =================================================================== RCS file: /cvsroot/VTK/VTK/Hybrid/vtkImagePlaneWidget.cxx,v retrieving revision 1.91 diff -u -r1.91 vtkImagePlaneWidget.cxx --- vtkImagePlaneWidget.cxx 25 Mar 2005 15:16:53 -0000 1.91 +++ vtkImagePlaneWidget.cxx 22 Jun 2005 11:45:41 -0000 @@ -862,6 +862,7 @@ this->EndInteraction(); this->InvokeEvent(vtkCommand::EndInteractionEvent,0); this->Interactor->Render(); + this->Modified(); } void vtkImagePlaneWidget::StartWindowLevel() @@ -1106,6 +1107,17 @@ return 1; } +int vtkImagePlaneWidget::GetCursorDataStatus() +{ + if ( this->State != vtkImagePlaneWidget::Cursoring || \ + this->CurrentImageValue == VTK_DOUBLE_MAX ) + { + return 0; + } + + return 1; +} + void vtkImagePlaneWidget::ManageTextDisplay() { if ( !this->DisplayText ) @@ -1234,7 +1246,6 @@ // or a ZX plane if i = 1, y-normal // this->PlaneOrientation = i; - this->Modified(); // This method must be called _after_ SetInput // @@ -1304,6 +1315,7 @@ this->BuildRepresentation(); this->UpdateNormal(); this->UpdateOrigin(); + this->Modified(); } void vtkImagePlaneWidget::SetInput(vtkDataSet* input) @@ -1730,6 +1742,7 @@ this->PlaneSource->Update(); this->BuildRepresentation(); this->UpdateOrigin(); + this->Modified(); } double vtkImagePlaneWidget::GetSlicePosition() @@ -1810,6 +1823,7 @@ this->PlaneSource->Update(); this->BuildRepresentation(); this->UpdateOrigin(); + this->Modified(); } int vtkImagePlaneWidget::GetSliceIndex() @@ -2102,11 +2116,13 @@ void vtkImagePlaneWidget::SetOrigin(double x, double y, double z) { this->PlaneSource->SetOrigin(x,y,z); + this->Modified(); } void vtkImagePlaneWidget::SetOrigin(double xyz[3]) { this->PlaneSource->SetOrigin(xyz); + this->Modified(); } double* vtkImagePlaneWidget::GetOrigin() @@ -2122,11 +2138,13 @@ void vtkImagePlaneWidget::SetPoint1(double x, double y, double z) { this->PlaneSource->SetPoint1(x,y,z); + this->Modified(); } void vtkImagePlaneWidget::SetPoint1(double xyz[3]) { this->PlaneSource->SetPoint1(xyz); + this->Modified(); } double* vtkImagePlaneWidget::GetPoint1() @@ -2142,11 +2160,13 @@ void vtkImagePlaneWidget::SetPoint2(double x, double y, double z) { this->PlaneSource->SetPoint2(x,y,z); + this->Modified(); } void vtkImagePlaneWidget::SetPoint2(double xyz[3]) { this->PlaneSource->SetPoint2(xyz); + this->Modified(); } double* vtkImagePlaneWidget::GetPoint2()