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 =========================================================================*/
109 #ifndef vtkImagePlaneWidget_h
110 #define vtkImagePlaneWidget_h
111 
112 #include "vtkInteractionWidgetsModule.h" // For export macro
113 #include "vtkPolyDataSourceWidget.h"
114 
115 class vtkActor;
117 class vtkDataSetMapper;
118 class vtkImageData;
119 class vtkImageMapToColors;
120 class vtkImageReslice;
121 class vtkLookupTable;
122 class vtkMatrix4x4;
123 class vtkPlaneSource;
124 class vtkPoints;
125 class vtkPolyData;
126 class vtkProperty;
127 class vtkTextActor;
128 class vtkTextProperty;
129 class vtkTexture;
130 class vtkTransform;
131 
132 #define VTK_NEAREST_RESLICE 0
133 #define VTK_LINEAR_RESLICE 1
134 #define VTK_CUBIC_RESLICE 2
135 
136 // Private.
137 #define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF 128
138 
139 class VTKINTERACTIONWIDGETS_EXPORT vtkImagePlaneWidget : public vtkPolyDataSourceWidget
140 {
141 public:
146 
148  void PrintSelf(ostream& os, vtkIndent indent) override;
149 
151 
154  void SetEnabled(int) override;
155  void PlaceWidget(double bounds[6]) override;
156  void PlaceWidget() override { this->Superclass::PlaceWidget(); }
158  double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
159  {
160  this->Superclass::PlaceWidget(xmin, xmax, ymin, ymax, zmin, zmax);
161  }
163 
168 
170 
173  void SetOrigin(double x, double y, double z);
174  void SetOrigin(double xyz[3]);
175  double* GetOrigin() VTK_SIZEHINT(3);
176  void GetOrigin(double xyz[3]);
178 
180 
183  void SetPoint1(double x, double y, double z);
184  void SetPoint1(double xyz[3]);
185  double* GetPoint1() VTK_SIZEHINT(3);
186  void GetPoint1(double xyz[3]);
188 
190 
193  void SetPoint2(double x, double y, double z);
194  void SetPoint2(double xyz[3]);
195  double* GetPoint2() VTK_SIZEHINT(3);
196  void GetPoint2(double xyz[3]);
198 
200 
203  double* GetCenter() VTK_SIZEHINT(3);
204  void GetCenter(double xyz[3]);
206 
208 
211  double* GetNormal() VTK_SIZEHINT(3);
212  void GetNormal(double xyz[3]);
214 
218  void GetVector1(double v1[3]);
219 
223  void GetVector2(double v2[3]);
224 
228  int GetSliceIndex();
229 
233  void SetSliceIndex(int index);
234 
238  double GetSlicePosition();
239 
243  void SetSlicePosition(double position);
244 
246 
249  void SetResliceInterpolate(int);
250  vtkGetMacro(ResliceInterpolate, int);
251  void SetResliceInterpolateToNearestNeighbour()
252  {
253  this->SetResliceInterpolate(VTK_NEAREST_RESLICE);
254  }
255  void SetResliceInterpolateToLinear() { this->SetResliceInterpolate(VTK_LINEAR_RESLICE); }
256  void SetResliceInterpolateToCubic() { this->SetResliceInterpolate(VTK_CUBIC_RESLICE); }
258 
263 
265 
269  vtkSetMacro(RestrictPlaneToVolume, vtkTypeBool);
270  vtkGetMacro(RestrictPlaneToVolume, vtkTypeBool);
271  vtkBooleanMacro(RestrictPlaneToVolume, vtkTypeBool);
273 
275 
280  vtkSetMacro(UserControlledLookupTable, vtkTypeBool);
281  vtkGetMacro(UserControlledLookupTable, vtkTypeBool);
282  vtkBooleanMacro(UserControlledLookupTable, vtkTypeBool);
284 
286 
292  vtkSetMacro(TextureInterpolate, vtkTypeBool);
293  vtkGetMacro(TextureInterpolate, vtkTypeBool);
294  vtkBooleanMacro(TextureInterpolate, vtkTypeBool);
296 
298 
303  vtkGetMacro(TextureVisibility, vtkTypeBool);
304  vtkBooleanMacro(TextureVisibility, vtkTypeBool);
306 
316 
324 
329  void UpdatePlacement(void) override;
330 
336 
338 
344  vtkGetObjectMacro(ColorMap, vtkImageMapToColors);
347 
349 
354  vtkGetObjectMacro(PlaneProperty, vtkProperty);
356  vtkGetObjectMacro(SelectedPlaneProperty, vtkProperty);
358 
360 
365  vtkGetMacro(PlaneOrientation, int);
366  void SetPlaneOrientationToXAxes() { this->SetPlaneOrientation(0); }
367  void SetPlaneOrientationToYAxes() { this->SetPlaneOrientation(1); }
368  void SetPlaneOrientationToZAxes() { this->SetPlaneOrientation(2); }
370 
378 
380 
388  vtkGetObjectMacro(LookupTable, vtkLookupTable);
390 
392 
396  vtkSetMacro(DisplayText, vtkTypeBool);
397  vtkGetMacro(DisplayText, vtkTypeBool);
398  vtkBooleanMacro(DisplayText, vtkTypeBool);
400 
402 
406  vtkGetObjectMacro(CursorProperty, vtkProperty);
408 
410 
414  vtkGetObjectMacro(MarginProperty, vtkProperty);
416 
418 
422  vtkSetClampMacro(MarginSizeX, double, 0.0, 0.5);
423  vtkGetMacro(MarginSizeX, double);
424  vtkSetClampMacro(MarginSizeY, double, 0.0, 0.5);
425  vtkGetMacro(MarginSizeY, double);
427 
429 
435 
437 
441  vtkGetObjectMacro(TexturePlaneProperty, vtkProperty);
443 
445 
451  void SetWindowLevel(double window, double level, int copy = 0);
452  void GetWindowLevel(double wl[2]);
453  double GetWindow() { return this->CurrentWindow; }
454  double GetLevel() { return this->CurrentLevel; }
456 
461  int GetCursorData(double xyzv[4]);
462 
469 
471 
475  vtkGetVectorMacro(CurrentCursorPosition, double, 3);
477 
479 
484  vtkGetMacro(CurrentImageValue, double);
486 
488 
491  vtkGetObjectMacro(ResliceAxes, vtkMatrix4x4);
492  vtkGetObjectMacro(Reslice, vtkImageReslice);
494 
496 
503  vtkSetMacro(UseContinuousCursor, vtkTypeBool);
504  vtkGetMacro(UseContinuousCursor, vtkTypeBool);
505  vtkBooleanMacro(UseContinuousCursor, vtkTypeBool);
507 
509 
512  void SetInteraction(vtkTypeBool interact);
513  vtkGetMacro(Interaction, vtkTypeBool);
514  vtkBooleanMacro(Interaction, vtkTypeBool);
516 
518 
521  enum
522  {
523  VTK_CURSOR_ACTION = 0,
524  VTK_SLICE_MOTION_ACTION = 1,
525  VTK_WINDOW_LEVEL_ACTION = 2
526  };
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);
534 
536 
544  enum
545  {
546  VTK_NO_MODIFIER = 0,
547  VTK_SHIFT_MODIFIER = 1,
548  VTK_CONTROL_MODIFIER = 2
549  };
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);
557 
558 protected:
561 
563 
567 
571 
572  enum
573  {
574  VTK_NO_BUTTON = 0,
575  VTK_LEFT_BUTTON = 1,
576  VTK_MIDDLE_BUTTON = 2,
577  VTK_RIGHT_BUTTON = 3
578  };
580 
581  // Manage the state of the widget
582  int State;
584  {
585  Start = 0,
593  Outside
594  };
595 
596  // Handles the events
597  static void ProcessEvents(
598  vtkObject* object, unsigned long event, void* clientdata, void* calldata);
599 
600  // internal utility method that adds observers to the RenderWindowInteractor
601  // so that our ProcessEvents is eventually called. this method is called
602  // by SetEnabled as well as SetInteraction
603  void AddObservers();
604 
605  // ProcessEvents() dispatches to these methods.
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();
613  void OnChar() override;
614 
615  virtual void StartCursor();
616  virtual void StopCursor();
617  virtual void StartSliceMotion();
618  virtual void StopSliceMotion();
619  virtual void StartWindowLevel();
620  virtual void StopWindowLevel();
621 
622  // controlling ivars
623  vtkTypeBool Interaction; // Is the widget responsive to mouse events
629  double CurrentLevel;
631  double InitialLevel;
638 
639  // The geometric representation of the plane and it's outline
643  void HighlightPlane(int highlight);
645 
646  // Re-builds the plane outline based on the plane source
648 
649  // Do the picking
651 
652  // Register internal Pickers within PickingManager
653  void RegisterPickers() override;
654 
655  // for negative window values.
656  void InvertTable();
657 
658  // Methods to manipulate the plane
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);
665 
675 
676  // Properties used to control the appearance of selected objects and
677  // the manipulator in general. The plane property is actually that for
678  // the outline. The TexturePlaneProperty can be used to control the
679  // lighting etc. of the resliced image data.
686 
687  // Reslice and texture management
688  void UpdatePlane();
690 
691  // The cross-hair cursor
694  double CurrentCursorPosition[3];
695  double CurrentImageValue; // Set to VTK_DOUBLE_MAX when invalid
697  void UpdateCursor(int, int);
698  void ActivateCursor(int);
699  int UpdateContinuousCursor(double* q);
700  int UpdateDiscreteCursor(double* q);
702 
703  // The text to display W/L, image data
706  void GenerateText();
708  void ActivateText(int);
709 
710  // Oblique reslice control
711  double RotateAxis[3];
712  double RadiusVector[3];
713  void AdjustState();
714 
715  // Visible margins to assist user interaction
721  void ActivateMargins(int);
722  double MarginSizeX;
723  double MarginSizeY;
724 
725 private:
726  vtkImagePlaneWidget(const vtkImagePlaneWidget&) = delete;
727  void operator=(const vtkImagePlaneWidget&) = delete;
728 };
729 
730 #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:565
VTK_LINEAR_RESLICE
#define VTK_LINEAR_RESLICE
Definition: vtkImagePlaneWidget.h:133
vtkImagePlaneWidget::OnRightButtonUp
virtual void OnRightButtonUp()
vtkImagePlaneWidget::Transform
vtkTransform * Transform
Definition: vtkImagePlaneWidget.h:669
vtkImagePlaneWidget::CreateDefaultLookupTable
vtkLookupTable * CreateDefaultLookupTable()
vtkImagePlaneWidget::GenerateMargins
void GenerateMargins()
vtkImagePlaneWidget::Translate
void Translate(double *p1, double *p2)
vtkImagePlaneWidget::WidgetState
WidgetState
Definition: vtkImagePlaneWidget.h:584
vtkImagePlaneWidget::MiddleButtonAutoModifier
int MiddleButtonAutoModifier
Definition: vtkImagePlaneWidget.h:569
vtkImagePlaneWidget::CursorActor
vtkActor * CursorActor
Definition: vtkImagePlaneWidget.h:693
vtkImagePlaneWidget::CreateDefaultProperties
void CreateDefaultProperties()
vtkImagePlaneWidget::ColorMap
vtkImageMapToColors * ColorMap
Definition: vtkImagePlaneWidget.h:671
vtkImagePlaneWidget::TextureInterpolate
vtkTypeBool TextureInterpolate
Definition: vtkImagePlaneWidget.h:635
vtkImagePlaneWidget::Spinning
@ Spinning
Definition: vtkImagePlaneWidget.h:589
vtkImagePlaneWidget::OriginalWindow
double OriginalWindow
Definition: vtkImagePlaneWidget.h:626
vtkImagePlaneWidget::MarginActor
vtkActor * MarginActor
Definition: vtkImagePlaneWidget.h:717
vtkImagePlaneWidget::CursorPolyData
vtkPolyData * CursorPolyData
Definition: vtkImagePlaneWidget.h:692
vtkImagePlaneWidget::OnMouseMove
virtual void OnMouseMove()
vtkImagePlaneWidget::OnChar
void OnChar() override
Sets up the keypress-i event.
vtkImagePlaneWidget::LastButtonPressed
int LastButtonPressed
Definition: vtkImagePlaneWidget.h:579
vtkImagePlaneWidget::OnMiddleButtonDown
virtual void OnMiddleButtonDown()
vtkImagePlaneWidget::RestrictPlaneToVolume
vtkTypeBool RestrictPlaneToVolume
Definition: vtkImagePlaneWidget.h:625
vtkImagePlaneWidget::OriginalLevel
double OriginalLevel
Definition: vtkImagePlaneWidget.h:627
vtkImagePlaneWidget::OnLeftButtonUp
virtual void OnLeftButtonUp()
vtkImagePlaneWidget::UpdateContinuousCursor
int UpdateContinuousCursor(double *q)
vtkImagePlaneWidget::Reslice
vtkImageReslice * Reslice
Definition: vtkImagePlaneWidget.h:667
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:564
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:63
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:716
vtkImagePlaneWidget::Interaction
vtkTypeBool Interaction
Definition: vtkImagePlaneWidget.h:623
vtkImageMapToColors
map the input image through a lookup table
Definition: vtkImageMapToColors.h:38
vtkImagePlaneWidget::LeftButtonAutoModifier
int LeftButtonAutoModifier
Definition: vtkImagePlaneWidget.h:568
vtkImagePlaneWidget::CurrentLevel
double CurrentLevel
Definition: vtkImagePlaneWidget.h:629
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:633
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:132
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:632
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:650
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:704
vtkTexture
handles properties associated with a texture map
Definition: vtkTexture.h:66
vtkImagePlaneWidget::SetResliceInterpolateToLinear
void SetResliceInterpolateToLinear()
Definition: vtkImagePlaneWidget.h:255
vtkImagePlaneWidget::HighlightPlane
void HighlightPlane(int highlight)
vtkImagePlaneWidget::Push
void Push(double *p1, double *p2)
vtkImagePlaneWidget::Scaling
@ Scaling
Definition: vtkImagePlaneWidget.h:592
vtkImagePlaneWidget::ActivateCursor
void ActivateCursor(int)
vtkImagePlaneWidget::GetWindow
double GetWindow()
Definition: vtkImagePlaneWidget.h:453
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkImagePlaneWidget::GenerateTexturePlane
void GenerateTexturePlane()
vtkImagePlaneWidget::GetLevel
double GetLevel()
Definition: vtkImagePlaneWidget.h:454
vtkImagePlaneWidget::OnLeftButtonDown
virtual void OnLeftButtonDown()
vtkImagePlaneWidget::UpdateDiscreteCursor
int UpdateDiscreteCursor(double *q)
vtkImagePlaneWidget::WindowLevelling
@ WindowLevelling
Definition: vtkImagePlaneWidget.h:587
vtkImagePlaneWidget::SetResliceInterpolateToCubic
void SetResliceInterpolateToCubic()
Definition: vtkImagePlaneWidget.h:256
VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF
#define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF
Definition: vtkImagePlaneWidget.h:137
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:683
vtkImagePlaneWidget::GetOrigin
double * GetOrigin()
vtkImagePlaneWidget::ActivateText
void ActivateText(int)
vtkImagePlaneWidget::State
int State
Definition: vtkImagePlaneWidget.h:582
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:680
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:682
vtkImagePlaneWidget::SetOrigin
void SetOrigin(double xyz[3])
vtkImagePlaneWidget::GetTextProperty
vtkTextProperty * GetTextProperty()
vtkImagePlaneWidget::SelectedPlaneProperty
vtkProperty * SelectedPlaneProperty
Definition: vtkImagePlaneWidget.h:681
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:666
vtkImagePlaneWidget::Moving
@ Moving
Definition: vtkImagePlaneWidget.h:591
vtkImagePlaneWidget::InitialWindow
double InitialWindow
Definition: vtkImagePlaneWidget.h:630
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:590
vtkImagePlaneWidget::PlaneOutlinePolyData
vtkPolyData * PlaneOutlinePolyData
Definition: vtkImagePlaneWidget.h:641
vtkImagePlaneWidget::SetPlaneOrientationToZAxes
void SetPlaneOrientationToZAxes()
Definition: vtkImagePlaneWidget.h:368
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
Definition: vtkImagePlaneWidget.h:157
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:34
vtkImagePlaneWidget::RightButtonAction
int RightButtonAction
Definition: vtkImagePlaneWidget.h:566
vtkImagePlaneWidget::TextureVisibility
vtkTypeBool TextureVisibility
Definition: vtkImagePlaneWidget.h:562
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:69
vtkImagePlaneWidget::TexturePlaneProperty
vtkProperty * TexturePlaneProperty
Definition: vtkImagePlaneWidget.h:684
vtkImagePlaneWidget::RightButtonAutoModifier
int RightButtonAutoModifier
Definition: vtkImagePlaneWidget.h:570
vtkImagePlaneWidget::GetPolyDataAlgorithm
vtkPolyDataAlgorithm * GetPolyDataAlgorithm() override
Satisfies superclass API.
vtkImagePlaneWidget::SetColorMap
virtual void SetColorMap(vtkImageMapToColors *)
vtkImagePlaneWidget::MarginSelectMode
int MarginSelectMode
Definition: vtkImagePlaneWidget.h:718
vtkImagePlaneWidget::InitialLevel
double InitialLevel
Definition: vtkImagePlaneWidget.h:631
vtkImagePlaneWidget::SetCursorProperty
virtual void SetCursorProperty(vtkProperty *)
Set the properties of the cross-hair cursor.
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget() override
Definition: vtkImagePlaneWidget.h:156
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:701
vtkPolyDataSourceWidget
abstract PolyDataSource-based 3D widget
Definition: vtkPolyDataSourceWidget.h:46
vtkImagePlaneWidget::Texture
vtkTexture * Texture
Definition: vtkImagePlaneWidget.h:672
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkImagePlaneWidget::TexturePlaneActor
vtkActor * TexturePlaneActor
Definition: vtkImagePlaneWidget.h:670
vtkImagePlaneWidget::SetPlaneProperty
virtual void SetPlaneProperty(vtkProperty *)
Set/Get the plane's outline properties.
vtkImagePlaneWidget::MarginSizeX
double MarginSizeX
Definition: vtkImagePlaneWidget.h:722
vtkImagePlaneWidget::DisplayText
vtkTypeBool DisplayText
Definition: vtkImagePlaneWidget.h:637
vtkImagePlaneWidget::MarginSizeY
double MarginSizeY
Definition: vtkImagePlaneWidget.h:723
vtkImagePlaneWidget::vtkImagePlaneWidget
vtkImagePlaneWidget()
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:62
vtkImagePlaneWidget::Pushing
@ Pushing
Definition: vtkImagePlaneWidget.h:588
vtkImagePlaneWidget
3D widget for reslicing image data
Definition: vtkImagePlaneWidget.h:140
vtkImagePlaneWidget::SetPlaneOrientationToXAxes
void SetPlaneOrientationToXAxes()
Definition: vtkImagePlaneWidget.h:366
vtkImagePlaneWidget::CurrentImageValue
double CurrentImageValue
Definition: vtkImagePlaneWidget.h:695
vtkImagePlaneWidget::PlaneOutlineActor
vtkActor * PlaneOutlineActor
Definition: vtkImagePlaneWidget.h:642
vtkImagePlaneWidget::ResliceAxes
vtkMatrix4x4 * ResliceAxes
Definition: vtkImagePlaneWidget.h:668
vtkImagePlaneWidget::WindowLevel
void WindowLevel(int X, int Y)
vtkImagePlaneWidget::PlaneOrientation
int PlaneOrientation
Definition: vtkImagePlaneWidget.h:624
vtkImagePlaneWidget::Cursoring
@ Cursoring
Definition: vtkImagePlaneWidget.h:586
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget(double bounds[6]) override
We have to redeclare this abstract, PlaceWidget() requires it.
vtkImagePlaneWidget::PlaneSource
vtkPlaneSource * PlaneSource
Definition: vtkImagePlaneWidget.h:640
vtkImagePlaneWidget::BuildRepresentation
void BuildRepresentation()
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkImagePlaneWidget::UserControlledLookupTable
vtkTypeBool UserControlledLookupTable
Definition: vtkImagePlaneWidget.h:636
vtkImagePlaneWidget::GenerateCursor
void GenerateCursor()
VTK_CUBIC_RESLICE
#define VTK_CUBIC_RESLICE
Definition: vtkImagePlaneWidget.h:134
vtkImagePlaneWidget::CurrentWindow
double CurrentWindow
Definition: vtkImagePlaneWidget.h:628
vtkImagePlaneWidget::AdjustState
void AdjustState()
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkImagePlaneWidget::ResliceInterpolate
int ResliceInterpolate
Definition: vtkImagePlaneWidget.h:634
vtkImagePlaneWidget::GetPolyData
void GetPolyData(vtkPolyData *pd)
Grab the polydata (including points) that defines the plane.
vtkImagePlaneWidget::LookupTable
vtkLookupTable * LookupTable
Definition: vtkImagePlaneWidget.h:673
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:367