106 #ifndef vtkImagePlaneWidget_h 107 #define vtkImagePlaneWidget_h 109 #include "vtkInteractionWidgetsModule.h" 129 #define VTK_NEAREST_RESLICE 0 130 #define VTK_LINEAR_RESLICE 1 131 #define VTK_CUBIC_RESLICE 2 134 #define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF 128 155 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
156 double zmin,
double zmax)
override 169 void SetOrigin(
double x,
double y,
double z);
170 void SetOrigin(
double xyz[3]);
172 void GetOrigin(
double xyz[3]);
179 void SetPoint1(
double x,
double y,
double z);
180 void SetPoint1(
double xyz[3]);
182 void GetPoint1(
double xyz[3]);
189 void SetPoint2(
double x,
double y,
double z);
190 void SetPoint2(
double xyz[3]);
192 void GetPoint2(
double xyz[3]);
200 void GetCenter(
double xyz[3]);
208 void GetNormal(
double xyz[3]);
214 void GetVector1(
double v1[3]);
219 void GetVector2(
double v2[3]);
229 void SetSliceIndex(
int index);
234 double GetSlicePosition();
239 void SetSlicePosition(
double position);
245 void SetResliceInterpolate(
int);
246 vtkGetMacro(ResliceInterpolate,
int);
267 vtkBooleanMacro(RestrictPlaneToVolume,
vtkTypeBool);
276 vtkSetMacro(UserControlledLookupTable,
vtkTypeBool);
277 vtkGetMacro(UserControlledLookupTable,
vtkTypeBool);
278 vtkBooleanMacro(UserControlledLookupTable,
vtkTypeBool);
351 virtual void SetSelectedPlaneProperty(
vtkProperty*);
352 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
360 void SetPlaneOrientation(
int);
361 vtkGetMacro(PlaneOrientation,
int);
363 { this->SetPlaneOrientation(0); }
365 { this->SetPlaneOrientation(1); }
367 { this->SetPlaneOrientation(2); }
421 vtkSetClampMacro(MarginSizeX,
double, 0.0, 0.5);
422 vtkGetMacro(MarginSizeX,
double);
423 vtkSetClampMacro(MarginSizeY,
double, 0.0, 0.5);
424 vtkGetMacro(MarginSizeY,
double);
439 virtual void SetTexturePlaneProperty(
vtkProperty*);
440 vtkGetObjectMacro(TexturePlaneProperty,
vtkProperty);
450 void SetWindowLevel(
double window,
double level,
int copy = 0);
451 void GetWindowLevel(
double wl[2]);
460 int GetCursorData(
double xyzv[4]);
467 int GetCursorDataStatus();
474 vtkGetVectorMacro(CurrentCursorPosition,
double,3);
483 vtkGetMacro(CurrentImageValue,
double);
522 VTK_CURSOR_ACTION = 0,
523 VTK_SLICE_MOTION_ACTION = 1,
524 VTK_WINDOW_LEVEL_ACTION = 2
526 vtkSetClampMacro(LeftButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
527 vtkGetMacro(LeftButtonAction,
int);
528 vtkSetClampMacro(MiddleButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
529 vtkGetMacro(MiddleButtonAction,
int);
530 vtkSetClampMacro(RightButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
531 vtkGetMacro(RightButtonAction,
int);
546 VTK_SHIFT_MODIFIER = 1,
547 VTK_CONTROL_MODIFIER = 2
549 vtkSetClampMacro(LeftButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
550 vtkGetMacro(LeftButtonAutoModifier,
int);
551 vtkSetClampMacro(MiddleButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
552 vtkGetMacro(MiddleButtonAutoModifier,
int);
553 vtkSetClampMacro(RightButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
554 vtkGetMacro(RightButtonAutoModifier,
int);
575 VTK_MIDDLE_BUTTON = 2,
607 virtual void OnMouseMove();
608 virtual void OnLeftButtonDown();
609 virtual void OnLeftButtonUp();
610 virtual void OnMiddleButtonDown();
611 virtual void OnMiddleButtonUp();
612 virtual void OnRightButtonDown();
613 virtual void OnRightButtonUp();
616 virtual void StartCursor();
617 virtual void StopCursor();
618 virtual void StartSliceMotion();
619 virtual void StopSliceMotion();
620 virtual void StartWindowLevel();
621 virtual void StopWindowLevel();
644 void HighlightPlane(
int highlight);
645 void GeneratePlaneOutline();
648 void BuildRepresentation();
660 void WindowLevel(
int X,
int Y);
661 void Push(
double *p1,
double *p2);
662 void Spin(
double *p1,
double *p2);
663 void Rotate(
double *p1,
double *p2,
double *vpn);
664 void Scale(
double *p1,
double *p2,
int X,
int Y);
665 void Translate(
double *p1,
double *p2);
686 void CreateDefaultProperties();
690 void GenerateTexturePlane();
695 double CurrentCursorPosition[3];
697 void GenerateCursor();
698 void UpdateCursor(
int,
int);
699 void ActivateCursor(
int);
700 int UpdateContinuousCursor(
double *q);
701 int UpdateDiscreteCursor(
double *q);
708 void ManageTextDisplay();
709 void ActivateText(
int);
712 double RotateAxis[3];
713 double RadiusVector[3];
720 void GenerateMargins();
721 void UpdateMargins();
722 void ActivateMargins(
int);
represents an object (geometry & properties) in a rendered scene
abstract base class for most VTK objects
represent and manipulate 4x4 transformation matrices
represent surface properties of a geometric object
static void ProcessEvents(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
Handles the char widget activation event.
virtual void SetEnabled(int)
Methods for turning the interactor observer on and off, and determining its state.
map scalar values into colors via a lookup table
concrete dataset represents vertices, lines, polygons, and triangle strips
Proxy object to connect input/output ports.
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
An actor that displays text.
map vtkDataSet and derived classes to graphics primitives
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
topologically and geometrically regular array of data
map the input image through a lookup table
handles properties associated with a texture map
#define VTK_SIZEHINT(...)
represent text properties.
Reslices a volume along a new set of axes.
create an array of quadrilaterals located in a plane
abstract API for pickers that can pick an instance of vtkProp
virtual void OnChar()
Sets up the keypress-i event.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points