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);
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