VTK
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 =========================================================================*/
106 #ifndef vtkImagePlaneWidget_h
107 #define vtkImagePlaneWidget_h
108 
109 #include "vtkInteractionWidgetsModule.h" // For export macro
110 #include "vtkPolyDataSourceWidget.h"
111 
112 class vtkActor;
114 class vtkDataSetMapper;
115 class vtkImageData;
116 class vtkImageMapToColors;
117 class vtkImageReslice;
118 class vtkLookupTable;
119 class vtkMatrix4x4;
120 class vtkPlaneSource;
121 class vtkPoints;
122 class vtkPolyData;
123 class vtkProperty;
124 class vtkTextActor;
125 class vtkTextProperty;
126 class vtkTexture;
127 class vtkTransform;
128 
129 #define VTK_NEAREST_RESLICE 0
130 #define VTK_LINEAR_RESLICE 1
131 #define VTK_CUBIC_RESLICE 2
132 
133 // Private.
134 #define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF 128
135 
136 class VTKINTERACTIONWIDGETS_EXPORT vtkImagePlaneWidget : public vtkPolyDataSourceWidget
137 {
138 public:
143 
145  void PrintSelf(ostream& os, vtkIndent indent) override;
146 
148 
151  void SetEnabled(int) override;
152  void PlaceWidget(double bounds[6]) override;
153  void PlaceWidget() override
154  {this->Superclass::PlaceWidget();}
155  void PlaceWidget(double xmin, double xmax, double ymin, double ymax,
156  double zmin, double zmax) override
157  {this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);}
159 
164 
166 
169  void SetOrigin(double x, double y, double z);
170  void SetOrigin(double xyz[3]);
171  double* GetOrigin() VTK_SIZEHINT(3);
172  void GetOrigin(double xyz[3]);
174 
176 
179  void SetPoint1(double x, double y, double z);
180  void SetPoint1(double xyz[3]);
181  double* GetPoint1() VTK_SIZEHINT(3);
182  void GetPoint1(double xyz[3]);
184 
186 
189  void SetPoint2(double x, double y, double z);
190  void SetPoint2(double xyz[3]);
191  double* GetPoint2() VTK_SIZEHINT(3);
192  void GetPoint2(double xyz[3]);
194 
196 
199  double* GetCenter() VTK_SIZEHINT(3);
200  void GetCenter(double xyz[3]);
202 
204 
207  double* GetNormal() VTK_SIZEHINT(3);
208  void GetNormal(double xyz[3]);
210 
214  void GetVector1(double v1[3]);
215 
219  void GetVector2(double v2[3]);
220 
224  int GetSliceIndex();
225 
229  void SetSliceIndex(int index);
230 
234  double GetSlicePosition();
235 
239  void SetSlicePosition(double position);
240 
242 
245  void SetResliceInterpolate(int);
246  vtkGetMacro(ResliceInterpolate,int);
247  void SetResliceInterpolateToNearestNeighbour()
248  { this->SetResliceInterpolate(VTK_NEAREST_RESLICE); }
250  { this->SetResliceInterpolate(VTK_LINEAR_RESLICE); }
252  { this->SetResliceInterpolate(VTK_CUBIC_RESLICE); }
254 
259 
261 
265  vtkSetMacro(RestrictPlaneToVolume,vtkTypeBool);
266  vtkGetMacro(RestrictPlaneToVolume,vtkTypeBool);
267  vtkBooleanMacro(RestrictPlaneToVolume,vtkTypeBool);
269 
271 
276  vtkSetMacro(UserControlledLookupTable,vtkTypeBool);
277  vtkGetMacro(UserControlledLookupTable,vtkTypeBool);
278  vtkBooleanMacro(UserControlledLookupTable,vtkTypeBool);
280 
282 
288  vtkSetMacro(TextureInterpolate,vtkTypeBool);
289  vtkGetMacro(TextureInterpolate,vtkTypeBool);
290  vtkBooleanMacro(TextureInterpolate,vtkTypeBool);
292 
294 
299  vtkGetMacro(TextureVisibility,vtkTypeBool);
300  vtkBooleanMacro(TextureVisibility,vtkTypeBool);
302 
312 
320 
325  void UpdatePlacement(void) override;
326 
332 
334 
340  vtkGetObjectMacro(ColorMap, vtkImageMapToColors);
343 
345 
350  vtkGetObjectMacro(PlaneProperty,vtkProperty);
352  vtkGetObjectMacro(SelectedPlaneProperty,vtkProperty);
354 
356 
361  vtkGetMacro(PlaneOrientation,int);
363  { this->SetPlaneOrientation(0); }
365  { this->SetPlaneOrientation(1); }
367  { this->SetPlaneOrientation(2); }
369 
377 
379 
387  vtkGetObjectMacro(LookupTable,vtkLookupTable);
389 
391 
395  vtkSetMacro(DisplayText,vtkTypeBool);
396  vtkGetMacro(DisplayText,vtkTypeBool);
397  vtkBooleanMacro(DisplayText,vtkTypeBool);
399 
401 
405  vtkGetObjectMacro(CursorProperty,vtkProperty);
407 
409 
413  vtkGetObjectMacro(MarginProperty,vtkProperty);
415 
417 
421  vtkSetClampMacro(MarginSizeX,double, 0.0, 0.5);
422  vtkGetMacro(MarginSizeX, double);
423  vtkSetClampMacro(MarginSizeY,double, 0.0, 0.5);
424  vtkGetMacro(MarginSizeY, double);
426 
428 
434 
436 
440  vtkGetObjectMacro(TexturePlaneProperty,vtkProperty);
442 
444 
450  void SetWindowLevel(double window, double level, int copy = 0);
451  void GetWindowLevel(double wl[2]);
452  double GetWindow(){return this->CurrentWindow;}
453  double GetLevel(){return this->CurrentLevel;}
455 
460  int GetCursorData(double xyzv[4]);
461 
468 
470 
474  vtkGetVectorMacro(CurrentCursorPosition,double,3);
476 
478 
483  vtkGetMacro(CurrentImageValue,double);
485 
487 
490  vtkGetObjectMacro( ResliceAxes, vtkMatrix4x4 );
491  vtkGetObjectMacro( Reslice, vtkImageReslice );
493 
495 
502  vtkSetMacro(UseContinuousCursor,vtkTypeBool);
503  vtkGetMacro(UseContinuousCursor,vtkTypeBool);
504  vtkBooleanMacro(UseContinuousCursor,vtkTypeBool);
506 
508 
511  void SetInteraction(vtkTypeBool interact);
512  vtkGetMacro(Interaction,vtkTypeBool);
513  vtkBooleanMacro(Interaction,vtkTypeBool);
515 
517 
520  enum
521  {
522  VTK_CURSOR_ACTION = 0,
523  VTK_SLICE_MOTION_ACTION = 1,
524  VTK_WINDOW_LEVEL_ACTION = 2
525  };
526  vtkSetClampMacro(LeftButtonAction,int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
527  vtkGetMacro(LeftButtonAction, int);
528  vtkSetClampMacro(MiddleButtonAction,int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
529  vtkGetMacro(MiddleButtonAction, int);
530  vtkSetClampMacro(RightButtonAction,int, VTK_CURSOR_ACTION, VTK_WINDOW_LEVEL_ACTION);
531  vtkGetMacro(RightButtonAction, int);
533 
535 
543  enum
544  {
545  VTK_NO_MODIFIER = 0,
546  VTK_SHIFT_MODIFIER = 1,
547  VTK_CONTROL_MODIFIER = 2
548  };
549  vtkSetClampMacro(LeftButtonAutoModifier,int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
550  vtkGetMacro(LeftButtonAutoModifier, int);
551  vtkSetClampMacro(MiddleButtonAutoModifier,int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
552  vtkGetMacro(MiddleButtonAutoModifier, int);
553  vtkSetClampMacro(RightButtonAutoModifier,int, VTK_NO_MODIFIER, VTK_CONTROL_MODIFIER);
554  vtkGetMacro(RightButtonAutoModifier, int);
556 
557 protected:
560 
562 
566 
570 
571  enum
572  {
573  VTK_NO_BUTTON = 0,
574  VTK_LEFT_BUTTON = 1,
575  VTK_MIDDLE_BUTTON = 2,
576  VTK_RIGHT_BUTTON = 3
577  };
579 
580  // Manage the state of the widget
581  int State;
583  {
584  Start=0,
592  Outside
593  };
594 
595  // Handles the events
596  static void ProcessEvents(vtkObject* object,
597  unsigned long event,
598  void* clientdata,
599  void* calldata);
600 
601  // internal utility method that adds observers to the RenderWindowInteractor
602  // so that our ProcessEvents is eventually called. this method is called
603  // by SetEnabled as well as SetInteraction
604  void AddObservers();
605 
606  // ProcessEvents() dispatches to these methods.
607  virtual void OnMouseMove();
608  virtual void OnLeftButtonDown();
609  virtual void OnLeftButtonUp();
610  virtual void OnMiddleButtonDown();
611  virtual void OnMiddleButtonUp();
612  virtual void OnRightButtonDown();
613  virtual void OnRightButtonUp();
614  void OnChar() override;
615 
616  virtual void StartCursor();
617  virtual void StopCursor();
618  virtual void StartSliceMotion();
619  virtual void StopSliceMotion();
620  virtual void StartWindowLevel();
621  virtual void StopWindowLevel();
622 
623  // controlling ivars
624  vtkTypeBool Interaction; // Is the widget responsive to mouse events
630  double CurrentLevel;
632  double InitialLevel;
639 
640  // The geometric representation of the plane and it's outline
644  void HighlightPlane(int highlight);
646 
647  // Re-builds the plane outline based on the plane source
649 
650  // Do the picking
652 
653  // Register internal Pickers within PickingManager
654  void RegisterPickers() override;
655 
656  // for negative window values.
657  void InvertTable();
658 
659  // Methods to manipulate the plane
660  void WindowLevel(int X, int Y);
661  void Push(double *p1, double *p2);
662  void Spin(double *p1, double *p2);
663  void Rotate(double *p1, double *p2, double *vpn);
664  void Scale(double *p1, double *p2, int X, int Y);
665  void Translate(double *p1, double *p2);
666 
676 
677  // Properties used to control the appearance of selected objects and
678  // the manipulator in general. The plane property is actually that for
679  // the outline. The TexturePlaneProperty can be used to control the
680  // lighting etc. of the resliced image data.
687 
688  // Reslice and texture management
689  void UpdatePlane();
691 
692  // The cross-hair cursor
695  double CurrentCursorPosition[3];
696  double CurrentImageValue; // Set to VTK_DOUBLE_MAX when invalid
698  void UpdateCursor(int,int);
699  void ActivateCursor(int);
700  int UpdateContinuousCursor(double *q);
701  int UpdateDiscreteCursor(double *q);
703 
704  // The text to display W/L, image data
707  void GenerateText();
709  void ActivateText(int);
710 
711  // Oblique reslice control
712  double RotateAxis[3];
713  double RadiusVector[3];
714  void AdjustState();
715 
716  // Visible margins to assist user interaction
722  void ActivateMargins(int);
723  double MarginSizeX;
724  double MarginSizeY;
725 
726 private:
727  vtkImagePlaneWidget(const vtkImagePlaneWidget&) = delete;
728  void operator=(const vtkImagePlaneWidget&) = delete;
729 };
730 
731 #endif
vtkImagePlaneWidget::GetResliceOutput
vtkImageData * GetResliceOutput()
Convenience method to get the vtkImageReslice output.
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:40
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:564
VTK_LINEAR_RESLICE
#define VTK_LINEAR_RESLICE
Definition: vtkImagePlaneWidget.h:130
vtkImagePlaneWidget::OnRightButtonUp
virtual void OnRightButtonUp()
vtkImagePlaneWidget::Transform
vtkTransform * Transform
Definition: vtkImagePlaneWidget.h:670
vtkImagePlaneWidget::CreateDefaultLookupTable
vtkLookupTable * CreateDefaultLookupTable()
vtkImagePlaneWidget::GenerateMargins
void GenerateMargins()
vtkImagePlaneWidget::Translate
void Translate(double *p1, double *p2)
vtkImagePlaneWidget::WidgetState
WidgetState
Definition: vtkImagePlaneWidget.h:583
vtkImagePlaneWidget::MiddleButtonAutoModifier
int MiddleButtonAutoModifier
Definition: vtkImagePlaneWidget.h:568
vtkImagePlaneWidget::CursorActor
vtkActor * CursorActor
Definition: vtkImagePlaneWidget.h:694
vtkImagePlaneWidget::CreateDefaultProperties
void CreateDefaultProperties()
vtkImagePlaneWidget::ColorMap
vtkImageMapToColors * ColorMap
Definition: vtkImagePlaneWidget.h:672
vtkImagePlaneWidget::TextureInterpolate
vtkTypeBool TextureInterpolate
Definition: vtkImagePlaneWidget.h:636
vtkImagePlaneWidget::Spinning
@ Spinning
Definition: vtkImagePlaneWidget.h:588
vtkImagePlaneWidget::OriginalWindow
double OriginalWindow
Definition: vtkImagePlaneWidget.h:627
vtkImagePlaneWidget::MarginActor
vtkActor * MarginActor
Definition: vtkImagePlaneWidget.h:718
vtkImagePlaneWidget::CursorPolyData
vtkPolyData * CursorPolyData
Definition: vtkImagePlaneWidget.h:693
vtkImagePlaneWidget::OnMouseMove
virtual void OnMouseMove()
vtkImagePlaneWidget::OnChar
void OnChar() override
Sets up the keypress-i event.
vtkImagePlaneWidget::LastButtonPressed
int LastButtonPressed
Definition: vtkImagePlaneWidget.h:578
vtkImagePlaneWidget::OnMiddleButtonDown
virtual void OnMiddleButtonDown()
vtkImagePlaneWidget::RestrictPlaneToVolume
vtkTypeBool RestrictPlaneToVolume
Definition: vtkImagePlaneWidget.h:626
vtkImagePlaneWidget::OriginalLevel
double OriginalLevel
Definition: vtkImagePlaneWidget.h:628
vtkImagePlaneWidget::OnLeftButtonUp
virtual void OnLeftButtonUp()
vtkImagePlaneWidget::UpdateContinuousCursor
int UpdateContinuousCursor(double *q)
vtkImagePlaneWidget::Reslice
vtkImageReslice * Reslice
Definition: vtkImagePlaneWidget.h:668
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:61
vtkImagePlaneWidget::SetSelectedPlaneProperty
virtual void SetSelectedPlaneProperty(vtkProperty *)
vtkImagePlaneWidget::GeneratePlaneOutline
void GeneratePlaneOutline()
vtkImagePlaneWidget::LeftButtonAction
int LeftButtonAction
Definition: vtkImagePlaneWidget.h:563
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:60
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:717
vtkImagePlaneWidget::Interaction
vtkTypeBool Interaction
Definition: vtkImagePlaneWidget.h:624
vtkImageMapToColors
map the input image through a lookup table
Definition: vtkImageMapToColors.h:45
vtkImagePlaneWidget::LeftButtonAutoModifier
int LeftButtonAutoModifier
Definition: vtkImagePlaneWidget.h:567
vtkImagePlaneWidget::CurrentLevel
double CurrentLevel
Definition: vtkImagePlaneWidget.h:630
vtkTransform
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:61
vtkImagePlaneWidget::GetCursorData
int GetCursorData(double xyzv[4])
Get the image coordinate position and voxel value.
vtkImagePlaneWidget::StartWindowLevelPositionY
int StartWindowLevelPositionY
Definition: vtkImagePlaneWidget.h:634
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:129
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:633
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:651
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:395
vtkX3D::position
@ position
Definition: vtkX3D.h:261
vtkImagePlaneWidget::TextActor
vtkTextActor * TextActor
Definition: vtkImagePlaneWidget.h:705
vtkTexture
handles properties associated with a texture map
Definition: vtkTexture.h:72
vtkImagePlaneWidget::SetResliceInterpolateToLinear
void SetResliceInterpolateToLinear()
Definition: vtkImagePlaneWidget.h:249
vtkImagePlaneWidget::HighlightPlane
void HighlightPlane(int highlight)
vtkImagePlaneWidget::Push
void Push(double *p1, double *p2)
vtkImagePlaneWidget::Scaling
@ Scaling
Definition: vtkImagePlaneWidget.h:591
vtkImagePlaneWidget::ActivateCursor
void ActivateCursor(int)
vtkImagePlaneWidget::GetWindow
double GetWindow()
Definition: vtkImagePlaneWidget.h:452
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:42
vtkImagePlaneWidget::GenerateTexturePlane
void GenerateTexturePlane()
vtkImagePlaneWidget::GetLevel
double GetLevel()
Definition: vtkImagePlaneWidget.h:453
vtkImagePlaneWidget::OnLeftButtonDown
virtual void OnLeftButtonDown()
vtkImagePlaneWidget::UpdateDiscreteCursor
int UpdateDiscreteCursor(double *q)
vtkImagePlaneWidget::WindowLevelling
@ WindowLevelling
Definition: vtkImagePlaneWidget.h:586
vtkImagePlaneWidget::SetResliceInterpolateToCubic
void SetResliceInterpolateToCubic()
Definition: vtkImagePlaneWidget.h:251
VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF
#define VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF
Definition: vtkImagePlaneWidget.h:134
vtkImagePlaneWidget::GetCursorDataStatus
int GetCursorDataStatus()
Get the status of the cursor data.
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:52
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:46
vtkTextActor
An actor that displays text. Scaled or unscaled.
Definition: vtkTextActor.h:57
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
vtkImagePlaneWidget::MarginProperty
vtkProperty * MarginProperty
Definition: vtkImagePlaneWidget.h:684
vtkImagePlaneWidget::GetOrigin
double * GetOrigin()
vtkImagePlaneWidget::ActivateText
void ActivateText(int)
vtkImagePlaneWidget::State
int State
Definition: vtkImagePlaneWidget.h:581
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:681
vtkImagePlaneWidget::StartWindowLevel
virtual void StartWindowLevel()
vtkImageReslice
Reslices a volume along a new set of axes.
Definition: vtkImageReslice.h:78
vtkImagePlaneWidget::CursorProperty
vtkProperty * CursorProperty
Definition: vtkImagePlaneWidget.h:683
vtkImagePlaneWidget::SetOrigin
void SetOrigin(double xyz[3])
vtkImagePlaneWidget::GetTextProperty
vtkTextProperty * GetTextProperty()
vtkImagePlaneWidget::SelectedPlaneProperty
vtkProperty * SelectedPlaneProperty
Definition: vtkImagePlaneWidget.h:682
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:667
vtkImagePlaneWidget::Moving
@ Moving
Definition: vtkImagePlaneWidget.h:590
vtkImagePlaneWidget::InitialWindow
double InitialWindow
Definition: vtkImagePlaneWidget.h:631
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:589
vtkImagePlaneWidget::PlaneOutlinePolyData
vtkPolyData * PlaneOutlinePolyData
Definition: vtkImagePlaneWidget.h:642
vtkImagePlaneWidget::SetPlaneOrientationToZAxes
void SetPlaneOrientationToZAxes()
Definition: vtkImagePlaneWidget.h:366
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
Definition: vtkImagePlaneWidget.h:155
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:40
vtkImagePlaneWidget::RightButtonAction
int RightButtonAction
Definition: vtkImagePlaneWidget.h:565
vtkImagePlaneWidget::TextureVisibility
vtkTypeBool TextureVisibility
Definition: vtkImagePlaneWidget.h:561
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:75
vtkImagePlaneWidget::TexturePlaneProperty
vtkProperty * TexturePlaneProperty
Definition: vtkImagePlaneWidget.h:685
vtkImagePlaneWidget::RightButtonAutoModifier
int RightButtonAutoModifier
Definition: vtkImagePlaneWidget.h:569
vtkImagePlaneWidget::GetPolyDataAlgorithm
vtkPolyDataAlgorithm * GetPolyDataAlgorithm() override
Satisfies superclass API.
vtkImagePlaneWidget::SetColorMap
virtual void SetColorMap(vtkImageMapToColors *)
vtkImagePlaneWidget::MarginSelectMode
int MarginSelectMode
Definition: vtkImagePlaneWidget.h:719
vtkImagePlaneWidget::InitialLevel
double InitialLevel
Definition: vtkImagePlaneWidget.h:632
vtkImagePlaneWidget::SetCursorProperty
virtual void SetCursorProperty(vtkProperty *)
Set the properties of the cross-hair cursor.
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget() override
Definition: vtkImagePlaneWidget.h:153
vtk3DWidget::PlaceWidget
virtual void PlaceWidget()
vtkImagePlaneWidget::OnMiddleButtonUp
virtual void OnMiddleButtonUp()
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:40
vtkImagePlaneWidget::RegisterPickers
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
vtkImagePlaneWidget::UseContinuousCursor
vtkTypeBool UseContinuousCursor
Definition: vtkImagePlaneWidget.h:702
vtkPolyDataSourceWidget
abstract PolyDataSource-based 3D widget
Definition: vtkPolyDataSourceWidget.h:46
vtkImagePlaneWidget::Texture
vtkTexture * Texture
Definition: vtkImagePlaneWidget.h:673
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
vtkImagePlaneWidget::TexturePlaneActor
vtkActor * TexturePlaneActor
Definition: vtkImagePlaneWidget.h:671
vtkImagePlaneWidget::SetPlaneProperty
virtual void SetPlaneProperty(vtkProperty *)
Set/Get the plane's outline properties.
vtkImagePlaneWidget::MarginSizeX
double MarginSizeX
Definition: vtkImagePlaneWidget.h:723
vtkImagePlaneWidget::DisplayText
vtkTypeBool DisplayText
Definition: vtkImagePlaneWidget.h:638
vtkImagePlaneWidget::MarginSizeY
double MarginSizeY
Definition: vtkImagePlaneWidget.h:724
vtkImagePlaneWidget::vtkImagePlaneWidget
vtkImagePlaneWidget()
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:67
vtkImagePlaneWidget::Pushing
@ Pushing
Definition: vtkImagePlaneWidget.h:587
vtkImagePlaneWidget
3D widget for reslicing image data
Definition: vtkImagePlaneWidget.h:137
vtkImagePlaneWidget::SetPlaneOrientationToXAxes
void SetPlaneOrientationToXAxes()
Definition: vtkImagePlaneWidget.h:362
vtkImagePlaneWidget::CurrentImageValue
double CurrentImageValue
Definition: vtkImagePlaneWidget.h:696
vtkImagePlaneWidget::PlaneOutlineActor
vtkActor * PlaneOutlineActor
Definition: vtkImagePlaneWidget.h:643
vtkImagePlaneWidget::ResliceAxes
vtkMatrix4x4 * ResliceAxes
Definition: vtkImagePlaneWidget.h:669
vtkImagePlaneWidget::WindowLevel
void WindowLevel(int X, int Y)
vtkImagePlaneWidget::PlaneOrientation
int PlaneOrientation
Definition: vtkImagePlaneWidget.h:625
vtkImagePlaneWidget::Cursoring
@ Cursoring
Definition: vtkImagePlaneWidget.h:585
vtkImagePlaneWidget::PlaceWidget
void PlaceWidget(double bounds[6]) override
We have to redeclare this abstract, PlaceWidget() requires it.
vtkImagePlaneWidget::PlaneSource
vtkPlaneSource * PlaneSource
Definition: vtkImagePlaneWidget.h:641
vtkImagePlaneWidget::BuildRepresentation
void BuildRepresentation()
vtkX3D::index
@ index
Definition: vtkX3D.h:246
vtkImagePlaneWidget::UserControlledLookupTable
vtkTypeBool UserControlledLookupTable
Definition: vtkImagePlaneWidget.h:637
vtkImagePlaneWidget::GenerateCursor
void GenerateCursor()
VTK_CUBIC_RESLICE
#define VTK_CUBIC_RESLICE
Definition: vtkImagePlaneWidget.h:131
vtkImagePlaneWidget::CurrentWindow
double CurrentWindow
Definition: vtkImagePlaneWidget.h:629
vtkImagePlaneWidget::AdjustState
void AdjustState()
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkImagePlaneWidget::ResliceInterpolate
int ResliceInterpolate
Definition: vtkImagePlaneWidget.h:635
vtkImagePlaneWidget::GetPolyData
void GetPolyData(vtkPolyData *pd)
Grab the polydata (including points) that defines the plane.
vtkImagePlaneWidget::LookupTable
vtkLookupTable * LookupTable
Definition: vtkImagePlaneWidget.h:674
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:45
vtkDataSetMapper
map vtkDataSet and derived classes to graphics primitives
Definition: vtkDataSetMapper.h:43
vtkImagePlaneWidget::SetPlaneOrientationToYAxes
void SetPlaneOrientationToYAxes()
Definition: vtkImagePlaneWidget.h:364