VTK  9.3.20240425
vtkImageOrthoPlanes.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
19#ifndef vtkImageOrthoPlanes_h
20#define vtkImageOrthoPlanes_h
21
22#include "vtkInteractionWidgetsModule.h" // For export macro
23#include "vtkObject.h"
24
25VTK_ABI_NAMESPACE_BEGIN
27class vtkTransform;
28class vtkMatrix4x4;
29
30class VTKINTERACTIONWIDGETS_EXPORT vtkImageOrthoPlanes : public vtkObject
31{
32public:
35 void PrintSelf(ostream& os, vtkIndent indent) override;
36
38
41 void SetPlane(int i, vtkImagePlaneWidget* imagePlaneWidget);
44
49
53 vtkTransform* GetTransform() { return this->Transform; }
54
58 void HandlePlaneEvent(vtkImagePlaneWidget* imagePlaneWidget);
59
60protected:
63
64 void HandlePlaneRotation(vtkImagePlaneWidget* imagePlaneWidget, int indexOfModifiedPlane);
65 void HandlePlanePush(vtkImagePlaneWidget* imagePlaneWidget, int indexOfModifiedPlane);
66 void HandlePlaneTranslate(vtkImagePlaneWidget* imagePlaneWidget, int indexOfModifiedPlane);
67 void HandlePlaneScale(vtkImagePlaneWidget* imagePlaneWidget, int indexOfModifiedPlane);
68
70 vtkMatrix4x4* matrix, vtkImagePlaneWidget* currentImagePlane, int indexOfModifiedPlane);
71
72 void GetBounds(double bounds[6]);
73
74 // The plane definitions prior to any rotations or scales
75 double Origin[3][3];
76 double Point1[3][3];
77 double Point2[3][3];
78
79 // The current position and orientation of the bounding box with
80 // respect to the origin.
82
83 // An array to hold the planes
85
86 // The number of planes.
88
89 // The observer tags for these planes
91
92private:
94 void operator=(const vtkImageOrthoPlanes&) = delete;
95};
96
97VTK_ABI_NAMESPACE_END
98#endif
Connect three vtkImagePlaneWidgets together.
static vtkImageOrthoPlanes * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void GetBounds(double bounds[6])
~vtkImageOrthoPlanes() override
void HandlePlaneRotation(vtkImagePlaneWidget *imagePlaneWidget, int indexOfModifiedPlane)
void HandlePlaneScale(vtkImagePlaneWidget *imagePlaneWidget, int indexOfModifiedPlane)
void HandlePlaneEvent(vtkImagePlaneWidget *imagePlaneWidget)
A public method to be used only by the event callback.
void ResetPlanes()
Reset the planes to original scale, rotation, and location.
void HandlePlanePush(vtkImagePlaneWidget *imagePlaneWidget, int indexOfModifiedPlane)
vtkImagePlaneWidget ** Planes
void HandlePlaneTranslate(vtkImagePlaneWidget *imagePlaneWidget, int indexOfModifiedPlane)
void SetTransformMatrix(vtkMatrix4x4 *matrix, vtkImagePlaneWidget *currentImagePlane, int indexOfModifiedPlane)
vtkTransform * GetTransform()
Get the transform for the planes.
void SetPlane(int i, vtkImagePlaneWidget *imagePlaneWidget)
You must set three planes for the widget.
vtkImagePlaneWidget * GetPlane(int i)
You must set three planes for the widget.
3D widget for reslicing image data
a simple class to control print indentation
Definition vtkIndent.h:108
represent and manipulate 4x4 transformation matrices
abstract base class for most VTK objects
Definition vtkObject.h:162
describes linear transformations via a 4x4 matrix