VTK  9.0.1
vtkImagePlaneWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImagePlaneWidget.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
100 #ifndef vtkImagePlaneWidget_h
101 #define vtkImagePlaneWidget_h
102 
103 #include "vtkInteractionWidgetsModule.h" // For export macro
104 #include "vtkPolyDataSourceWidget.h"
105 
106 class vtkActor;
108 class vtkDataSetMapper;
109 class vtkImageData;
110 class vtkImageMapToColors;
111 class vtkImageReslice;
112 class vtkLookupTable;
113 class vtkMatrix4x4;
114 class vtkPlaneSource;
115 class vtkPoints;
116 class vtkPolyData;
117 class vtkProperty;
118 class vtkTextActor;
119 class vtkTextProperty;
120 class vtkTexture;
121 class vtkTransform;
122 
123 #define VTK_NEAREST_RESLICE 0
124 #define VTK_LINEAR_RESLICE 1
125 #define VTK_CUBIC_RESLICE 2
126 
127 // Private.
128 #define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF 128
129 
130 class VTKINTERACTIONWIDGETS_EXPORT vtkImagePlaneWidget : public vtkPolyDataSourceWidget
131 {
132 public:
137 
139  void PrintSelf(ostream& os, vtkIndent indent) override;
140 
142 
145  void SetEnabled(int) override;
146  void PlaceWidget(double bounds[6]) override;
147  void PlaceWidget() override { this->Superclass::PlaceWidget(); }
149  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
150  {
151  this->Superclass::PlaceWidget(xmin, xmax, ymin, ymax, zmin, zmax);
152  }
154 
159 
161 
164  void SetOrigin(double x, double y, double z);
165  void SetOrigin(double xyz[3]);
166  double* GetOrigin() VTK_SIZEHINT(3);
167  void GetOrigin(double xyz[3]);
169 
171 
174  void SetPoint1(double x, double y, double z);
175  void SetPoint1(double xyz[3]);
176  double* GetPoint1() VTK_SIZEHINT(3);
177  void GetPoint1(double xyz[3]);
179 
181 
184  void SetPoint2(double x, double y, double z);
185  void SetPoint2(double xyz[3]);
186  double* GetPoint2() VTK_SIZEHINT(3);
187  void GetPoint2(double xyz[3]);
189 
191 
194  double* GetCenter() VTK_SIZEHINT(3);
195  void GetCenter(double xyz[3]);
197 
199 
202  double* GetNormal() VTK_SIZEHINT(3);
203  void GetNormal(double xyz[3]);
205 
209  void GetVector1(double v1[3]);
210 
214  void GetVector2(double v2[3]);
215 
219  int GetSliceIndex();
220 
224  void SetSliceIndex(int index);
225 
229  double GetSlicePosition();
230 
234  void SetSlicePosition(double position);
235 
237 
240  void SetResliceInterpolate(int);
241  vtkGetMacro(ResliceInterpolate, int);
242  void SetResliceInterpolateToNearestNeighbour()
243  {
244  this->SetResliceInterpolate(VTK_NEAREST_RESLICE);
245  }
246  void SetResliceInterpolateToLinear() { this->SetResliceInterpolate(VTK_LINEAR_RESLICE); }
247  void SetResliceInterpolateToCubic() { this->SetResliceInterpolate(VTK_CUBIC_RESLICE); }
249 
254 
256 
260  vtkSetMacro(RestrictPlaneToVolume, vtkTypeBool);
261  vtkGetMacro(RestrictPlaneToVolume, vtkTypeBool);
262  vtkBooleanMacro(RestrictPlaneToVolume, vtkTypeBool);
264 
266 
271  vtkSetMacro(UserControlledLookupTable, vtkTypeBool);
272  vtkGetMacro(UserControlledLookupTable, vtkTypeBool);
273  vtkBooleanMacro(UserControlledLookupTable, vtkTypeBool);
275 
277 
283  vtkSetMacro(TextureInterpolate, vtkTypeBool);
284  vtkGetMacro(TextureInterpolate, vtkTypeBool);
285  vtkBooleanMacro(TextureInterpolate, vtkTypeBool);
287 
289 
294  vtkGetMacro(TextureVisibility, vtkTypeBool);
295  vtkBooleanMacro(TextureVisibility, vtkTypeBool);
297 
307 
315 
320  void UpdatePlacement(void) override;
321 
327 
329 
335  vtkGetObjectMacro(ColorMap, vtkImageMapToColors);
338 
340 
345  vtkGetObjectMacro(PlaneProperty, vtkProperty);
347  vtkGetObjectMacro(SelectedPlaneProperty, vtkProperty);
349 
351 
356  vtkGetMacro(PlaneOrientation, int);
357  void SetPlaneOrientationToXAxes() { this->SetPlaneOrientation(0); }
358  void SetPlaneOrientationToYAxes() { this->SetPlaneOrientation(1); }
359  void SetPlaneOrientationToZAxes() { this->SetPlaneOrientation(2); }
361 
369 
371 
379  vtkGetObjectMacro(LookupTable, vtkLookupTable);
381 
383 
387  vtkSetMacro(DisplayText, vtkTypeBool);
388  vtkGetMacro(DisplayText, vtkTypeBool);
389  vtkBooleanMacro(DisplayText, vtkTypeBool);
391 
393 
397  vtkGetObjectMacro(CursorProperty, vtkProperty);
399 
401 
405  vtkGetObjectMacro(MarginProperty, vtkProperty);
407 
409 
413  vtkSetClampMacro(MarginSizeX, double, 0.0, 0.5);
414  vtkGetMacro(MarginSizeX, double);
415  vtkSetClampMacro(MarginSizeY, double, 0.0, 0.5);
416  vtkGetMacro(MarginSizeY, double);
418 
420 
426 
428 
432  vtkGetObjectMacro(TexturePlaneProperty, vtkProperty);
434 
436 
442  void SetWindowLevel(double window, double level, int copy = 0);
443  void GetWindowLevel(double wl[2]);
444  double GetWindow() { return this->CurrentWindow; }
445  double GetLevel() { return this->CurrentLevel; }
447 
452  int GetCursorData(double xyzv[4]);
453 
460 
462 
466  vtkGetVectorMacro(CurrentCursorPosition, double, 3);
468 
470 
475  vtkGetMacro(CurrentImageValue, double);
477 
479 
482  vtkGetObjectMacro(ResliceAxes, vtkMatrix4x4);
483  vtkGetObjectMacro(Reslice, vtkImageReslice);
485 
487 
494  vtkSetMacro(UseContinuousCursor, vtkTypeBool);
495  vtkGetMacro(UseContinuousCursor, vtkTypeBool);
496  vtkBooleanMacro(UseContinuousCursor, vtkTypeBool);
498 
500 
503  void SetInteraction(vtkTypeBool interact);
504  vtkGetMacro(Interaction, vtkTypeBool);
505  vtkBooleanMacro(Interaction, vtkTypeBool);
507 
509 
512  enum
513  {
514  VTK_CURSOR_ACTION = 0,
515  VTK_SLICE_MOTION_ACTION = 1,
516  VTK_WINDOW_LEVEL_ACTION = 2
517  };
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);
525 
527 
535  enum
536  {
537  VTK_NO_MODIFIER = 0,
538  VTK_SHIFT_MODIFIER = 1,
539  VTK_CONTROL_MODIFIER = 2
540  };
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);
548 
549 protected:
552 
554 
558 
562 
563  enum
564  {
565  VTK_NO_BUTTON = 0,
566  VTK_LEFT_BUTTON = 1,
567  VTK_MIDDLE_BUTTON = 2,
568  VTK_RIGHT_BUTTON = 3
569  };
571 
572  // Manage the state of the widget
573  int State;
575  {
576  Start = 0,
584  Outside
585  };
586 
587  // Handles the events
588  static void ProcessEvents(
589  vtkObject* object, unsigned long event, void* clientdata, void* calldata);
590 
591  // internal utility method that adds observers to the RenderWindowInteractor
592  // so that our ProcessEvents is eventually called. this method is called
593  // by SetEnabled as well as SetInteraction
594  void AddObservers();
595 
596  // ProcessEvents() dispatches to these methods.
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();
604  void OnChar() override;
605 
606  virtual void StartCursor();
607  virtual void StopCursor();
608  virtual void StartSliceMotion();
609  virtual void StopSliceMotion();
610  virtual void StartWindowLevel();
611  virtual void StopWindowLevel();
612 
613  // controlling ivars
614  vtkTypeBool Interaction; // Is the widget responsive to mouse events
620  double CurrentLevel;
622  double InitialLevel;
629 
630  // The geometric representation of the plane and it's outline
634  void HighlightPlane(int highlight);
636 
637  // Re-builds the plane outline based on the plane source
639 
640  // Do the picking
642 
643  // Register internal Pickers within PickingManager
644  void RegisterPickers() override;
645 
646  // for negative window values.
647  void InvertTable();
648 
649  // Methods to manipulate the plane
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);
656 
666 
667  // Properties used to control the appearance of selected objects and
668  // the manipulator in general. The plane property is actually that for
669  // the outline. The TexturePlaneProperty can be used to control the
670  // lighting etc. of the resliced image data.
677 
678  // Reslice and texture management
679  void UpdatePlane();
681 
682  // The cross-hair cursor
685  double CurrentCursorPosition[3];
686  double CurrentImageValue; // Set to VTK_DOUBLE_MAX when invalid
688  void UpdateCursor(int, int);
689  void ActivateCursor(int);
690  int UpdateContinuousCursor(double* q);
691  int UpdateDiscreteCursor(double* q);
693 
694  // The text to display W/L, image data
697  void GenerateText();
699  void ActivateText(int);
700 
701  // Oblique reslice control
702  double RotateAxis[3];
703  double RadiusVector[3];
704  void AdjustState();
705 
706  // Visible margins to assist user interaction
712  void ActivateMargins(int);
713  double MarginSizeX;
714  double MarginSizeY;
715 
716 private:
717  vtkImagePlaneWidget(const vtkImagePlaneWidget&) = delete;
718  void operator=(const vtkImagePlaneWidget&) = delete;
719 };
720 
721 #endif
vtkImagePlaneWidget::GetResliceOutput
vtkImageData * GetResliceOutput()
Convenience method to get the vtkImageReslice output.
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:34
vtkImagePlaneWidget::SetTextureVisibility
virtual void SetTextureVisibility(vtkTypeBool)
Control the visibility of the actual texture mapped reformatted plane.
vtkImagePlaneWidget::ManageTextDisplay
void ManageTextDisplay()
vtkImagePlaneWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImagePlaneWidget::StartSliceMotion
virtual void StartSliceMotion()
vtkImagePlaneWidget::MiddleButtonAction
int MiddleButtonAction
Definition: vtkImagePlaneWidget.h:556
VTK_LINEAR_RESLICE
#define VTK_LINEAR_RESLICE
Definition: vtkImagePlaneWidget.h:124
vtkImagePlaneWidget::OnRightButtonUp
virtual void OnRightButtonUp()
vtkImagePlaneWidget::Transform
vtkTransform * Transform
Definition: vtkImagePlaneWidget.h:660
vtkImagePlaneWidget::CreateDefaultLookupTable
vtkLookupTable * CreateDefaultLookupTable()
vtkImagePlaneWidget::GenerateMargins
void GenerateMargins()
vtkImagePlaneWidget::Translate
void Translate(double *p1, double *p2)
vtkImagePlaneWidget::WidgetState
WidgetState
Definition: vtkImagePlaneWidget.h:575
vtkImagePlaneWidget::MiddleButtonAutoModifier
int MiddleButtonAutoModifier
Definition: vtkImagePlaneWidget.h:560
vtkImagePlaneWidget::CursorActor
vtkActor * CursorActor
Definition: vtkImagePlaneWidget.h:684
vtkImagePlaneWidget::CreateDefaultProperties
void CreateDefaultProperties()
vtkImagePlaneWidget::ColorMap
vtkImageMapToColors * ColorMap
Definition: vtkImagePlaneWidget.h:662
vtkImagePlaneWidget::TextureInterpolate
vtkTypeBool TextureInterpolate
Definition: vtkImagePlaneWidget.h:626
vtkImagePlaneWidget::Spinning
@ Spinning
Definition: vtkImagePlaneWidget.h:580
vtkImagePlaneWidget::OriginalWindow
double OriginalWindow
Definition: vtkImagePlaneWidget.h:617
vtkImagePlaneWidget::MarginActor
vtkActor * MarginActor
Definition: vtkImagePlaneWidget.h:708
vtkImagePlaneWidget::CursorPolyData
vtkPolyData * CursorPolyData
Definition: vtkImagePlaneWidget.h:683
vtkImagePlaneWidget::OnMouseMove
virtual void OnMouseMove()
vtkImagePlaneWidget::OnChar
void OnChar() override
Sets up the keypress-i event.
vtkImagePlaneWidget::LastButtonPressed
int LastButtonPressed
Definition: vtkImagePlaneWidget.h:570
vtkImagePlaneWidget::OnMiddleButtonDown
virtual void OnMiddleButtonDown()
vtkImagePlaneWidget::RestrictPlaneToVolume
vtkTypeBool RestrictPlaneToVolume
Definition: vtkImagePlaneWidget.h:616
vtkImagePlaneWidget::OriginalLevel
double OriginalLevel
Definition: vtkImagePlaneWidget.h:618
vtkImagePlaneWidget::OnLeftButtonUp
virtual void OnLeftButtonUp()
vtkImagePlaneWidget::UpdateContinuousCursor
int UpdateContinuousCursor(double *q)
vtkImagePlaneWidget::Reslice
vtkImageReslice * Reslice
Definition: vtkImagePlaneWidget.h:658
vtkImagePlaneWidget::SetTexturePlaneProperty
virtual void SetTexturePlaneProperty(vtkProperty *)
Set/Get the property for the resliced image.
vtkImagePlaneWidget::UpdatePlane
void UpdatePlane()
vtkPlaneSource
create an array of quadrilaterals located in a plane
Definition: vtkPlaneSource.h:55
vtkImagePlaneWidget::SetSelectedPlaneProperty
virtual void SetSelectedPlaneProperty(vtkProperty *)
vtkImagePlaneWidget::GeneratePlaneOutline
void GeneratePlaneOutline()
vtkImagePlaneWidget::LeftButtonAction
int LeftButtonAction
Definition: vtkImagePlaneWidget.h:555
vtkImagePlaneWidget::SetEnabled
void SetEnabled(int) override
Methods that satisfy the superclass' API.
vtkImagePlaneWidget::SetLookupTable
virtual void SetLookupTable(vtkLookupTable *)
Set/Get the internal lookuptable (lut) to one defined by the user, or, alternatively,...
vtkImagePlaneWidget::InvertTable
void InvertTable()
vtkImagePlaneWidget::SetPicker
void SetPicker(vtkAbstractPropPicker *)
Set the internal picker to one defined by the user.
vtkImagePlaneWidget::~vtkImagePlaneWidget
~vtkImagePlaneWidget() override
vtkImagePlaneWidget::StartCursor
virtual void StartCursor()
vtkImagePlaneWidget::AddObservers
void AddObservers()
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:54
vtkImagePlaneWidget::SetInteraction
void SetInteraction(vtkTypeBool interact)
Enable/disable mouse interaction so the widget remains on display.
vtkImagePlaneWidget::SetOrigin
void SetOrigin(double x, double y, double z)
Set/Get the origin of the plane.
vtkImagePlaneWidget::MarginPolyData
vtkPolyData * MarginPolyData
Definition: vtkImagePlaneWidget.h:707
vtkImagePlaneWidget::Interaction
vtkTypeBool Interaction
Definition: vtkImagePlaneWidget.h:614
vtkImageMapToColors
map the input image through a lookup table
Definition: vtkImageMapToColors.h:38
vtkImagePlaneWidget::LeftButtonAutoModifier
int LeftButtonAutoModifier
Definition: vtkImagePlaneWidget.h:559
vtkImagePlaneWidget::CurrentLevel
double CurrentLevel
Definition: vtkImagePlaneWidget.h:620
vtkTransform
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:55
vtkImagePlaneWidget::GetCursorData
int GetCursorData(double xyzv[4])
Get the image coordinate position and voxel value.
vtkImagePlaneWidget::StartWindowLevelPositionY
int StartWindowLevelPositionY
Definition: vtkImagePlaneWidget.h:624
vtkImagePlaneWidget::StopCursor
virtual void StopCursor()
vtkImagePlaneWidget::SetMarginProperty
virtual void SetMarginProperty(vtkProperty *)
Set the properties of the margins.
VTK_NEAREST_RESLICE
#define VTK_NEAREST_RESLICE
Definition: vtkImagePlaneWidget.h:123
vtkImagePlaneWidget::GetTexture
vtkTexture * GetTexture()
Convenience method to get the texture used by this widget.
vtkImagePlaneWidget::UpdateMargins
void UpdateMargins()
vtkImagePlaneWidget::UpdatePlacement
void UpdatePlacement(void) override
Satisfies superclass API.
vtkImagePlaneWidget::StartWindowLevelPositionX
int StartWindowLevelPositionX
Definition: vtkImagePlaneWidget.h:623
vtkImagePlaneWidget::UpdateCursor
void UpdateCursor(int, int)
vtkImagePlaneWidget::SetWindowLevel
void SetWindowLevel(double window, double level, int copy=0)
Set/Get the current window and level values.
vtkImagePlaneWidget::PlanePicker
vtkAbstractPropPicker * PlanePicker
Definition: vtkImagePlaneWidget.h:641
vtkImagePlaneWidget::ProcessEvents
static void ProcessEvents(vtkObject *object, unsigned long event, void *clientdata, void *calldata)
vtkImagePlaneWidget::StopWindowLevel
virtual void StopWindowLevel()
vtkImagePlaneWidget::GenerateText
void GenerateText()
vtkImagePlaneWidget::New
static vtkImagePlaneWidget * New()
Instantiate the object.
vtkX3D::level
@ level
Definition: vtkX3D.h:401
vtkX3D::position
@ position
Definition: vtkX3D.h:267
vtkImagePlaneWidget::TextActor
vtkTextActor * TextActor
Definition: vtkImagePlaneWidget.h:695
vtkTexture
handles properties associated with a texture map
Definition: vtkTexture.h:66
vtkImagePlaneWidget::SetResliceInterpolateToLinear
void SetResliceInterpolateToLinear()
Definition: vtkImagePlaneWidget.h:246
vtkImagePlaneWidget::HighlightPlane
void HighlightPlane(int highlight)
vtkImagePlaneWidget::Push
void Push(double *p1, double *p2)
vtkImagePlaneWidget::Scaling
@ Scaling
Definition: vtkImagePlaneWidget.h:583
vtkImagePlaneWidget::ActivateCursor
void ActivateCursor(int)
vtkImagePlaneWidget::GetWindow
double GetWindow()
Definition: vtkImagePlaneWidget.h:444
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkImagePlaneWidget::GenerateTexturePlane
void GenerateTexturePlane()
vtkImagePlaneWidget::GetLevel
double GetLevel()
Definition: vtkImagePlaneWidget.h:445
vtkImagePlaneWidget::OnLeftButtonDown
virtual void OnLeftButtonDown()
vtkImagePlaneWidget::UpdateDiscreteCursor
int UpdateDiscreteCursor(double *q)
vtkImagePlaneWidget::WindowLevelling
@ WindowLevelling
Definition: vtkImagePlaneWidget.h:578
vtkImagePlaneWidget::SetResliceInterpolateToCubic
void SetResliceInterpolateToCubic()
Definition: vtkImagePlaneWidget.h:247
VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF
#define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF
Definition: vtkImagePlaneWidget.h:128
vtkImagePlaneWidget::GetCursorDataStatus
int GetCursorDataStatus()
Get the status of the cursor data.
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
vtkImagePlaneWidget::SetTextProperty
void SetTextProperty(vtkTextProperty *tprop)
Set/Get the text property for the image data and window-level annotation.
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
vtkTextActor
An actor that displays text.
Definition: vtkTextActor.h:51
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:36
vtkImagePlaneWidget::MarginProperty
vtkProperty * MarginProperty
Definition: vtkImagePlaneWidget.h:674
vtkImagePlaneWidget::GetOrigin
double * GetOrigin()
vtkImagePlaneWidget::ActivateText
void ActivateText(int)
vtkImagePlaneWidget::State
int State
Definition: vtkImagePlaneWidget.h:573
vtkImagePlaneWidget::SetPlaneOrientation
void SetPlaneOrientation(int)
Convenience method sets the plane orientation normal to the x, y, or z axes.
vtkImagePlaneWidget::PlaneProperty
vtkProperty * PlaneProperty
Definition: vtkImagePlaneWidget.h:671
vtkImagePlaneWidget::StartWindowLevel
virtual void StartWindowLevel()
vtkImageReslice
Reslices a volume along a new set of axes.
Definition: vtkImageReslice.h:71
vtkImagePlaneWidget::CursorProperty
vtkProperty * CursorProperty
Definition: vtkImagePlaneWidget.h:673
vtkImagePlaneWidget::SetOrigin
void SetOrigin(double xyz[3])
vtkImagePlaneWidget::GetTextProperty
vtkTextProperty * GetTextProperty()
vtkImagePlaneWidget::SelectedPlaneProperty
vtkProperty * SelectedPlaneProperty
Definition: vtkImagePlaneWidget.h:672
vtkImagePlaneWidget::ActivateMargins
void ActivateMargins(int)
vtkImagePlaneWidget::StopSliceMotion
virtual void StopSliceMotion()
vtkImagePlaneWidget::GetWindowLevel
void GetWindowLevel(double wl[2])
vtkImagePlaneWidget::SetInputConnection
void SetInputConnection(vtkAlgorithmOutput *aout) override
Set the vtkImageData* input for the vtkImageReslice.
vtkImagePlaneWidget::Spin
void Spin(double *p1, double *p2)
vtkImagePlaneWidget::ImageData
vtkImageData * ImageData
Definition: vtkImagePlaneWidget.h:657
vtkImagePlaneWidget::Moving
@ Moving
Definition: vtkImagePlaneWidget.h:582
vtkImagePlaneWidget::InitialWindow
double InitialWindow
Definition: vtkImagePlaneWidget.h:621
vtkAbstractPropPicker
abstract API for pickers that can pick an instance of vtkProp
Definition: vtkAbstractPropPicker.h:80
vtkImagePlaneWidget::Rotate
void Rotate(double *p1, double *p2, double *vpn)
vtkImagePlaneWidget::Rotating
@ Rotating
Definition: vtkImagePlaneWidget.h:581
vtkImagePlaneWidget::PlaneOutlinePolyData
vtkPolyData * PlaneOutlinePolyData
Definition: vtkImagePlaneWidget.h:632
vtkImagePlaneWidget::SetPlaneOrientationToZAxes
void SetPlaneOrientationToZAxes()
Definition: vtkImagePlaneWidget.h:359
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
Definition: vtkImagePlaneWidget.h:148
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:34
vtkImagePlaneWidget::RightButtonAction
int RightButtonAction
Definition: vtkImagePlaneWidget.h:557
vtkImagePlaneWidget::TextureVisibility
vtkTypeBool TextureVisibility
Definition: vtkImagePlaneWidget.h:553
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:69
vtkImagePlaneWidget::TexturePlaneProperty
vtkProperty * TexturePlaneProperty
Definition: vtkImagePlaneWidget.h:675
vtkImagePlaneWidget::RightButtonAutoModifier
int RightButtonAutoModifier
Definition: vtkImagePlaneWidget.h:561
vtkImagePlaneWidget::GetPolyDataAlgorithm
vtkPolyDataAlgorithm * GetPolyDataAlgorithm() override
Satisfies superclass API.
vtkImagePlaneWidget::SetColorMap
virtual void SetColorMap(vtkImageMapToColors *)
vtkImagePlaneWidget::MarginSelectMode
int MarginSelectMode
Definition: vtkImagePlaneWidget.h:709
vtkImagePlaneWidget::InitialLevel
double InitialLevel
Definition: vtkImagePlaneWidget.h:622
vtkImagePlaneWidget::SetCursorProperty
virtual void SetCursorProperty(vtkProperty *)
Set the properties of the cross-hair cursor.
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget() override
Definition: vtkImagePlaneWidget.h:147
vtk3DWidget::PlaceWidget
virtual void PlaceWidget()
vtkImagePlaneWidget::OnMiddleButtonUp
virtual void OnMiddleButtonUp()
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:37
vtkImagePlaneWidget::RegisterPickers
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
vtkImagePlaneWidget::UseContinuousCursor
vtkTypeBool UseContinuousCursor
Definition: vtkImagePlaneWidget.h:692
vtkPolyDataSourceWidget
abstract PolyDataSource-based 3D widget
Definition: vtkPolyDataSourceWidget.h:46
vtkImagePlaneWidget::Texture
vtkTexture * Texture
Definition: vtkImagePlaneWidget.h:663
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkImagePlaneWidget::TexturePlaneActor
vtkActor * TexturePlaneActor
Definition: vtkImagePlaneWidget.h:661
vtkImagePlaneWidget::SetPlaneProperty
virtual void SetPlaneProperty(vtkProperty *)
Set/Get the plane's outline properties.
vtkImagePlaneWidget::MarginSizeX
double MarginSizeX
Definition: vtkImagePlaneWidget.h:713
vtkImagePlaneWidget::DisplayText
vtkTypeBool DisplayText
Definition: vtkImagePlaneWidget.h:628
vtkImagePlaneWidget::MarginSizeY
double MarginSizeY
Definition: vtkImagePlaneWidget.h:714
vtkImagePlaneWidget::vtkImagePlaneWidget
vtkImagePlaneWidget()
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:62
vtkImagePlaneWidget::Pushing
@ Pushing
Definition: vtkImagePlaneWidget.h:579
vtkImagePlaneWidget
3D widget for reslicing image data
Definition: vtkImagePlaneWidget.h:131
vtkImagePlaneWidget::SetPlaneOrientationToXAxes
void SetPlaneOrientationToXAxes()
Definition: vtkImagePlaneWidget.h:357
vtkImagePlaneWidget::CurrentImageValue
double CurrentImageValue
Definition: vtkImagePlaneWidget.h:686
vtkImagePlaneWidget::PlaneOutlineActor
vtkActor * PlaneOutlineActor
Definition: vtkImagePlaneWidget.h:633
vtkImagePlaneWidget::ResliceAxes
vtkMatrix4x4 * ResliceAxes
Definition: vtkImagePlaneWidget.h:659
vtkImagePlaneWidget::WindowLevel
void WindowLevel(int X, int Y)
vtkImagePlaneWidget::PlaneOrientation
int PlaneOrientation
Definition: vtkImagePlaneWidget.h:615
vtkImagePlaneWidget::Cursoring
@ Cursoring
Definition: vtkImagePlaneWidget.h:577
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget(double bounds[6]) override
We have to redeclare this abstract, PlaceWidget() requires it.
vtkImagePlaneWidget::PlaneSource
vtkPlaneSource * PlaneSource
Definition: vtkImagePlaneWidget.h:631
vtkImagePlaneWidget::BuildRepresentation
void BuildRepresentation()
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkImagePlaneWidget::UserControlledLookupTable
vtkTypeBool UserControlledLookupTable
Definition: vtkImagePlaneWidget.h:627
vtkImagePlaneWidget::GenerateCursor
void GenerateCursor()
VTK_CUBIC_RESLICE
#define VTK_CUBIC_RESLICE
Definition: vtkImagePlaneWidget.h:125
vtkImagePlaneWidget::CurrentWindow
double CurrentWindow
Definition: vtkImagePlaneWidget.h:619
vtkImagePlaneWidget::AdjustState
void AdjustState()
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkImagePlaneWidget::ResliceInterpolate
int ResliceInterpolate
Definition: vtkImagePlaneWidget.h:625
vtkImagePlaneWidget::GetPolyData
void GetPolyData(vtkPolyData *pd)
Grab the polydata (including points) that defines the plane.
vtkImagePlaneWidget::LookupTable
vtkLookupTable * LookupTable
Definition: vtkImagePlaneWidget.h:664
vtkPolyDataSourceWidget.h
vtkImagePlaneWidget::Scale
void Scale(double *p1, double *p2, int X, int Y)
vtkImagePlaneWidget::OnRightButtonDown
virtual void OnRightButtonDown()
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:42
vtkDataSetMapper
map vtkDataSet and derived classes to graphics primitives
Definition: vtkDataSetMapper.h:37
vtkImagePlaneWidget::SetPlaneOrientationToYAxes
void SetPlaneOrientationToYAxes()
Definition: vtkImagePlaneWidget.h:358