109 #ifndef vtkImagePlaneWidget_h 
  110 #define vtkImagePlaneWidget_h 
  112 #include "vtkInteractionWidgetsModule.h"  
  132 #define VTK_NEAREST_RESLICE 0 
  133 #define VTK_LINEAR_RESLICE 1 
  134 #define VTK_CUBIC_RESLICE 2 
  137 #define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF 128 
  158     double xmin, 
double xmax, 
double ymin, 
double ymax, 
double zmin, 
double zmax)
 override 
  173   void SetOrigin(
double x, 
double y, 
double z);
 
  174   void SetOrigin(
double xyz[3]);
 
  176   void GetOrigin(
double xyz[3]);
 
  183   void SetPoint1(
double x, 
double y, 
double z);
 
  184   void SetPoint1(
double xyz[3]);
 
  186   void GetPoint1(
double xyz[3]);
 
  193   void SetPoint2(
double x, 
double y, 
double z);
 
  194   void SetPoint2(
double xyz[3]);
 
  196   void GetPoint2(
double xyz[3]);
 
  204   void GetCenter(
double xyz[3]);
 
  212   void GetNormal(
double xyz[3]);
 
  218   void GetVector1(
double v1[3]);
 
  223   void GetVector2(
double v2[3]);
 
  233   void SetSliceIndex(
int index);
 
  238   double GetSlicePosition();
 
  243   void SetSlicePosition(
double position);
 
  249   void SetResliceInterpolate(
int);
 
  250   vtkGetMacro(ResliceInterpolate, 
int);
 
  251   void SetResliceInterpolateToNearestNeighbour()
 
  271   vtkBooleanMacro(RestrictPlaneToVolume, 
vtkTypeBool);
 
  280   vtkSetMacro(UserControlledLookupTable, 
vtkTypeBool);
 
  281   vtkGetMacro(UserControlledLookupTable, 
vtkTypeBool);
 
  282   vtkBooleanMacro(UserControlledLookupTable, 
vtkTypeBool);
 
  355   virtual void SetSelectedPlaneProperty(
vtkProperty*);
 
  356   vtkGetObjectMacro(SelectedPlaneProperty, 
vtkProperty);
 
  364   void SetPlaneOrientation(
int);
 
  365   vtkGetMacro(PlaneOrientation, 
int);
 
  422   vtkSetClampMacro(MarginSizeX, 
double, 0.0, 0.5);
 
  423   vtkGetMacro(MarginSizeX, 
double);
 
  424   vtkSetClampMacro(MarginSizeY, 
double, 0.0, 0.5);
 
  425   vtkGetMacro(MarginSizeY, 
double);
 
  440   virtual void SetTexturePlaneProperty(
vtkProperty*);
 
  441   vtkGetObjectMacro(TexturePlaneProperty, 
vtkProperty);
 
  451   void SetWindowLevel(
double window, 
double level, 
int copy = 0);
 
  452   void GetWindowLevel(
double wl[2]);
 
  461   int GetCursorData(
double xyzv[4]);
 
  468   int GetCursorDataStatus();
 
  475   vtkGetVectorMacro(CurrentCursorPosition, 
double, 3);
 
  484   vtkGetMacro(CurrentImageValue, 
double);
 
  523     VTK_CURSOR_ACTION = 0,
 
  524     VTK_SLICE_MOTION_ACTION = 1,
 
  525     VTK_WINDOW_LEVEL_ACTION = 2
 
  527   vtkSetClampMacro(LeftButtonAction, 
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
 
  528   vtkGetMacro(LeftButtonAction, 
int);
 
  529   vtkSetClampMacro(MiddleButtonAction, 
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
 
  530   vtkGetMacro(MiddleButtonAction, 
int);
 
  531   vtkSetClampMacro(RightButtonAction, 
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
 
  532   vtkGetMacro(RightButtonAction, 
int);
 
  547     VTK_SHIFT_MODIFIER = 1,
 
  548     VTK_CONTROL_MODIFIER = 2
 
  550   vtkSetClampMacro(LeftButtonAutoModifier, 
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
 
  551   vtkGetMacro(LeftButtonAutoModifier, 
int);
 
  552   vtkSetClampMacro(MiddleButtonAutoModifier, 
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
 
  553   vtkGetMacro(MiddleButtonAutoModifier, 
int);
 
  554   vtkSetClampMacro(RightButtonAutoModifier, 
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
 
  555   vtkGetMacro(RightButtonAutoModifier, 
int);
 
  576     VTK_MIDDLE_BUTTON = 2,
 
  598     vtkObject* 
object, 
unsigned long event, 
void* clientdata, 
void* calldata);
 
  606   virtual void OnMouseMove();
 
  607   virtual void OnLeftButtonDown();
 
  608   virtual void OnLeftButtonUp();
 
  609   virtual void OnMiddleButtonDown();
 
  610   virtual void OnMiddleButtonUp();
 
  611   virtual void OnRightButtonDown();
 
  612   virtual void OnRightButtonUp();
 
  615   virtual void StartCursor();
 
  616   virtual void StopCursor();
 
  617   virtual void StartSliceMotion();
 
  618   virtual void StopSliceMotion();
 
  619   virtual void StartWindowLevel();
 
  620   virtual void StopWindowLevel();
 
  643   void HighlightPlane(
int highlight);
 
  644   void GeneratePlaneOutline();
 
  647   void BuildRepresentation();
 
  659   void WindowLevel(
int X, 
int Y);
 
  660   void Push(
double* p1, 
double* p2);
 
  661   void Spin(
double* p1, 
double* p2);
 
  662   void Rotate(
double* p1, 
double* p2, 
double* vpn);
 
  663   void Scale(
double* p1, 
double* p2, 
int X, 
int Y);
 
  664   void Translate(
double* p1, 
double* p2);
 
  685   void CreateDefaultProperties();
 
  689   void GenerateTexturePlane();
 
  694   double CurrentCursorPosition[3];
 
  696   void GenerateCursor();
 
  697   void UpdateCursor(
int, 
int);
 
  698   void ActivateCursor(
int);
 
  699   int UpdateContinuousCursor(
double* q);
 
  700   int UpdateDiscreteCursor(
double* q);
 
  707   void ManageTextDisplay();
 
  708   void ActivateText(
int);
 
  711   double RotateAxis[3];
 
  712   double RadiusVector[3];
 
  719   void GenerateMargins();
 
  720   void UpdateMargins();
 
  721   void ActivateMargins(
int);