108 #ifndef vtkImagePlaneWidget_h
109 #define vtkImagePlaneWidget_h
131 #define VTK_NEAREST_RESLICE 0
132 #define VTK_LINEAR_RESLICE 1
133 #define VTK_CUBIC_RESLICE 2
150 void PlaceWidget(
double xmin,
double xmax,
double ymin,
double ymax,
151 double zmin,
double zmax)
160 void SetOrigin(
double x,
double y,
double z);
161 void SetOrigin(
double xyz[3]);
163 void GetOrigin(
double xyz[3]);
169 void SetPoint1(
double x,
double y,
double z);
170 void SetPoint1(
double xyz[3]);
172 void GetPoint1(
double xyz[3]);
178 void SetPoint2(
double x,
double y,
double z);
179 void SetPoint2(
double xyz[3]);
181 void GetPoint2(
double xyz[3]);
187 void GetCenter(
double xyz[3]);
193 void GetNormal(
double xyz[3]);
197 void GetVector1(
double v1[3]);
200 void GetVector2(
double v2[3]);
206 void SetSliceIndex(
int index);
209 double GetSlicePosition();
212 void SetSlicePosition(
double position);
216 void SetResliceInterpolate(
int);
217 vtkGetMacro(ResliceInterpolate,
int);
231 vtkSetMacro(RestrictPlaneToVolume,
int);
232 vtkGetMacro(RestrictPlaneToVolume,
int);
233 vtkBooleanMacro(RestrictPlaneToVolume,
int);
239 vtkSetMacro(UserControlledLookupTable,
int);
240 vtkGetMacro(UserControlledLookupTable,
int);
241 vtkBooleanMacro(UserControlledLookupTable,
int);
249 vtkSetMacro(TextureInterpolate,
int);
250 vtkGetMacro(TextureInterpolate,
int);
251 vtkBooleanMacro(TextureInterpolate,
int);
257 virtual void SetTextureVisibility(
int);
258 vtkGetMacro(TextureVisibility,
int);
259 vtkBooleanMacro(TextureVisibility,
int);
300 virtual void SetSelectedPlaneProperty(
vtkProperty*);
301 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
307 void SetPlaneOrientation(
int);
308 vtkGetMacro(PlaneOrientation,
int);
310 { this->SetPlaneOrientation(0); }
312 { this->SetPlaneOrientation(1); }
314 { this->SetPlaneOrientation(2); }
336 vtkSetMacro(DisplayText,
int);
337 vtkGetMacro(DisplayText,
int);
338 vtkBooleanMacro(DisplayText,
int);
356 vtkSetClampMacro(MarginSizeX,
double, 0.0, 0.5);
357 vtkGetMacro(MarginSizeX,
double);
358 vtkSetClampMacro(MarginSizeY,
double, 0.0, 0.5);
359 vtkGetMacro(MarginSizeY,
double);
371 virtual void SetTexturePlaneProperty(
vtkProperty*);
372 vtkGetObjectMacro(TexturePlaneProperty,
vtkProperty);
380 void SetWindowLevel(
double window,
double level,
int copy = 0);
381 void GetWindowLevel(
double wl[2]);
388 int GetCursorData(
double xyzv[4]);
393 int GetCursorDataStatus();
398 vtkGetVectorMacro(CurrentCursorPosition,
double,3);
405 vtkGetMacro(CurrentImageValue,
double);
421 vtkSetMacro(UseContinuousCursor,
int);
422 vtkGetMacro(UseContinuousCursor,
int);
423 vtkBooleanMacro(UseContinuousCursor,
int);
428 void SetInteraction(
int interact);
429 vtkGetMacro(Interaction,
int);
430 vtkBooleanMacro(Interaction,
int);
437 VTK_CURSOR_ACTION = 0,
438 VTK_SLICE_MOTION_ACTION = 1,
439 VTK_WINDOW_LEVEL_ACTION = 2
441 vtkSetClampMacro(LeftButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
442 vtkGetMacro(LeftButtonAction,
int);
443 vtkSetClampMacro(MiddleButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
444 vtkGetMacro(MiddleButtonAction,
int);
445 vtkSetClampMacro(RightButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
446 vtkGetMacro(RightButtonAction,
int);
459 VTK_SHIFT_MODIFIER = 1,
460 VTK_CONTROL_MODIFIER = 2
462 vtkSetClampMacro(LeftButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
463 vtkGetMacro(LeftButtonAutoModifier,
int);
464 vtkSetClampMacro(MiddleButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
465 vtkGetMacro(MiddleButtonAutoModifier,
int);
466 vtkSetClampMacro(RightButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
467 vtkGetMacro(RightButtonAutoModifier,
int);
488 VTK_MIDDLE_BUTTON = 2,
520 virtual void OnMouseMove();
521 virtual void OnLeftButtonDown();
522 virtual void OnLeftButtonUp();
523 virtual void OnMiddleButtonDown();
524 virtual void OnMiddleButtonUp();
525 virtual void OnRightButtonDown();
526 virtual void OnRightButtonUp();
529 virtual void StartCursor();
530 virtual void StopCursor();
531 virtual void StartSliceMotion();
532 virtual void StopSliceMotion();
533 virtual void StartWindowLevel();
534 virtual void StopWindowLevel();
557 void HighlightPlane(
int highlight);
558 void GeneratePlaneOutline();
561 void BuildRepresentation();
573 void WindowLevel(
int X,
int Y);
574 void Push(
double *p1,
double *p2);
575 void Spin(
double *p1,
double *p2);
576 void Rotate(
double *p1,
double *p2,
double *vpn);
577 void Scale(
double *p1,
double *p2,
int X,
int Y);
578 void Translate(
double *p1,
double *p2);
599 void CreateDefaultProperties();
603 void GenerateTexturePlane();
608 double CurrentCursorPosition[3];
610 void GenerateCursor();
611 void UpdateCursor(
int,
int);
612 void ActivateCursor(
int);
613 int UpdateContinuousCursor(
double *
q);
614 int UpdateDiscreteCursor(
double *
q);
621 void ManageTextDisplay();
622 void ActivateText(
int);
625 double RotateAxis[3];
626 double RadiusVector[3];
633 void GenerateMargins();
634 void UpdateMargins();
635 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)
virtual void SetEnabled(int)
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()
An actor that displays text. Scaled or unscaled.
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
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
VTKWRAPPINGJAVA_EXPORT jlong q(JNIEnv *env, jobject obj)
represent and manipulate 3D points