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);
257 virtual void SetTextureVisibility(
int);
300 virtual void SetSelectedPlaneProperty(
vtkProperty*);
307 void SetPlaneOrientation(
int);
310 { this->SetPlaneOrientation(0); }
312 { this->SetPlaneOrientation(1); }
314 { this->SetPlaneOrientation(2); }
371 virtual void SetTexturePlaneProperty(
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();
428 void SetInteraction(
int interact);
438 VTK_CURSOR_ACTION = 0,
439 VTK_SLICE_MOTION_ACTION = 1,
440 VTK_WINDOW_LEVEL_ACTION = 2
443 vtkSetClampMacro(LeftButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
445 vtkSetClampMacro(MiddleButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
447 vtkSetClampMacro(RightButtonAction,
int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
462 VTK_SHIFT_MODIFIER = 1,
463 VTK_CONTROL_MODIFIER = 2
466 vtkSetClampMacro(LeftButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
468 vtkSetClampMacro(MiddleButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
470 vtkSetClampMacro(RightButtonAutoModifier,
int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
493 VTK_MIDDLE_BUTTON = 2,
527 virtual void OnMouseMove();
528 virtual void OnLeftButtonDown();
529 virtual void OnLeftButtonUp();
530 virtual void OnMiddleButtonDown();
531 virtual void OnMiddleButtonUp();
532 virtual void OnRightButtonDown();
533 virtual void OnRightButtonUp();
536 virtual void StartCursor();
537 virtual void StopCursor();
538 virtual void StartSliceMotion();
539 virtual void StopSliceMotion();
540 virtual void StartWindowLevel();
541 virtual void StopWindowLevel();
564 void HighlightPlane(
int highlight);
565 void GeneratePlaneOutline();
568 void BuildRepresentation();
580 void WindowLevel(
int X,
int Y);
581 void Push(
double *p1,
double *p2);
582 void Spin(
double *p1,
double *p2);
583 void Rotate(
double *p1,
double *p2,
double *vpn);
584 void Scale(
double *p1,
double *p2,
int X,
int Y);
585 void Translate(
double *p1,
double *p2);
606 void CreateDefaultProperties();
610 void GenerateTexturePlane();
615 double CurrentCursorPosition[3];
617 void GenerateCursor();
618 void UpdateCursor(
int,
int);
619 void ActivateCursor(
int);
620 int UpdateContinuousCursor(
double *
q);
621 int UpdateDiscreteCursor(
double *
q);
628 void ManageTextDisplay();
629 void ActivateText(
int);
632 double RotateAxis[3];
633 double RadiusVector[3];
640 void GenerateMargins();
641 void UpdateMargins();
642 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)
#define vtkGetMacro(name, type)
virtual void SetEnabled(int)
map scalar values into colors via a lookup table
#define vtkSetClampMacro(name, type, min, max)
concrete dataset represents vertices, lines, polygons, and triangle strips
GLint GLint GLint GLint GLint GLint y
#define vtkTypeMacro(thisClass, superclass)
Proxy object to connect input/output ports.
virtual void RegisterPickers()
GLint GLint GLint GLint GLint x
An actor that displays text. Scaled or unscaled.
map vtkDataSet and derived classes to graphics primitives
GLfloat GLfloat GLfloat v2
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.
#define vtkGetObjectMacro(name, type)
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
#define vtkBooleanMacro(name, type)
VTKWRAPPINGJAVA_EXPORT jlong q(JNIEnv *env, jobject obj)
#define vtkGetVectorMacro(name, type, count)
represent and manipulate 3D points
#define vtkSetMacro(name, type)