100 #ifndef vtkImagePlaneWidget_h 101 #define vtkImagePlaneWidget_h 103 #include "vtkInteractionWidgetsModule.h" 123 #define VTK_NEAREST_RESLICE 0 124 #define VTK_LINEAR_RESLICE 1 125 #define VTK_CUBIC_RESLICE 2 128 #define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF 128 149 double xmin,
double xmax,
double ymin,
double ymax,
double zmin,
double zmax)
override 164 void SetOrigin(
double x,
double y,
double z);
165 void SetOrigin(
double xyz[3]);
167 void GetOrigin(
double xyz[3]);
174 void SetPoint1(
double x,
double y,
double z);
175 void SetPoint1(
double xyz[3]);
177 void GetPoint1(
double xyz[3]);
184 void SetPoint2(
double x,
double y,
double z);
185 void SetPoint2(
double xyz[3]);
187 void GetPoint2(
double xyz[3]);
195 void GetCenter(
double xyz[3]);
203 void GetNormal(
double xyz[3]);
209 void GetVector1(
double v1[3]);
214 void GetVector2(
double v2[3]);
224 void SetSliceIndex(
int index);
229 double GetSlicePosition();
234 void SetSlicePosition(
double position);
240 void SetResliceInterpolate(
int);
241 vtkGetMacro(ResliceInterpolate,
int);
262 vtkBooleanMacro(RestrictPlaneToVolume,
vtkTypeBool);
271 vtkSetMacro(UserControlledLookupTable,
vtkTypeBool);
272 vtkGetMacro(UserControlledLookupTable,
vtkTypeBool);
273 vtkBooleanMacro(UserControlledLookupTable,
vtkTypeBool);
346 virtual void SetSelectedPlaneProperty(
vtkProperty*);
347 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
355 void SetPlaneOrientation(
int);
356 vtkGetMacro(PlaneOrientation,
int);
413 vtkSetClampMacro(MarginSizeX,
double, 0.0, 0.5);
414 vtkGetMacro(MarginSizeX,
double);
415 vtkSetClampMacro(MarginSizeY,
double, 0.0, 0.5);
416 vtkGetMacro(MarginSizeY,
double);
431 virtual void SetTexturePlaneProperty(
vtkProperty*);
432 vtkGetObjectMacro(TexturePlaneProperty,
vtkProperty);
442 void SetWindowLevel(
double window,
double level,
int copy = 0);
443 void GetWindowLevel(
double wl[2]);
452 int GetCursorData(
double xyzv[4]);
459 int GetCursorDataStatus();
466 vtkGetVectorMacro(CurrentCursorPosition,
double, 3);
475 vtkGetMacro(CurrentImageValue,
double);
514 VTK_CURSOR_ACTION = 0,
515 VTK_SLICE_MOTION_ACTION = 1,
516 VTK_WINDOW_LEVEL_ACTION = 2
518 vtkSetClampMacro(LeftButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
519 vtkGetMacro(LeftButtonAction,
int);
520 vtkSetClampMacro(MiddleButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
521 vtkGetMacro(MiddleButtonAction,
int);
522 vtkSetClampMacro(RightButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
523 vtkGetMacro(RightButtonAction,
int);
538 VTK_SHIFT_MODIFIER = 1,
539 VTK_CONTROL_MODIFIER = 2
541 vtkSetClampMacro(LeftButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
542 vtkGetMacro(LeftButtonAutoModifier,
int);
543 vtkSetClampMacro(MiddleButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
544 vtkGetMacro(MiddleButtonAutoModifier,
int);
545 vtkSetClampMacro(RightButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
546 vtkGetMacro(RightButtonAutoModifier,
int);
567 VTK_MIDDLE_BUTTON = 2,
589 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
597 virtual void OnMouseMove();
598 virtual void OnLeftButtonDown();
599 virtual void OnLeftButtonUp();
600 virtual void OnMiddleButtonDown();
601 virtual void OnMiddleButtonUp();
602 virtual void OnRightButtonDown();
603 virtual void OnRightButtonUp();
606 virtual void StartCursor();
607 virtual void StopCursor();
608 virtual void StartSliceMotion();
609 virtual void StopSliceMotion();
610 virtual void StartWindowLevel();
611 virtual void StopWindowLevel();
634 void HighlightPlane(
int highlight);
635 void GeneratePlaneOutline();
638 void BuildRepresentation();
650 void WindowLevel(
int X,
int Y);
651 void Push(
double* p1,
double* p2);
652 void Spin(
double* p1,
double* p2);
653 void Rotate(
double* p1,
double* p2,
double* vpn);
654 void Scale(
double* p1,
double* p2,
int X,
int Y);
655 void Translate(
double* p1,
double* p2);
676 void CreateDefaultProperties();
680 void GenerateTexturePlane();
685 double CurrentCursorPosition[3];
687 void GenerateCursor();
688 void UpdateCursor(
int,
int);
689 void ActivateCursor(
int);
690 int UpdateContinuousCursor(
double* q);
691 int UpdateDiscreteCursor(
double* q);
698 void ManageTextDisplay();
699 void ActivateText(
int);
702 double RotateAxis[3];
703 double RadiusVector[3];
710 void GenerateMargins();
711 void UpdateMargins();
712 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