VTK  9.7.1
vtkImageTransform.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
36 #ifndef vtkImageTransform_h
37 #define vtkImageTransform_h
38 
39 #include "vtkCommonDataModelModule.h" // For export macro
40 #include "vtkObject.h"
41 
42 VTK_ABI_NAMESPACE_BEGIN
43 class vtkDataArray;
44 class vtkImageData;
45 class vtkMatrix3x3;
46 class vtkMatrix4x4;
47 class vtkPointSet;
48 
49 class VTKCOMMONDATAMODEL_EXPORT vtkImageTransform : public vtkObject
50 {
51 public:
53 
56  static vtkImageTransform* New();
57  vtkTypeMacro(vtkImageTransform, vtkObject);
58  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
62 
77  static void TransformPointSet(vtkImageData* im, vtkPointSet* ps);
78  static void TransformPointSet(
79  vtkImageData* im, vtkPointSet* ps, bool transNormals, bool transVectors);
81 
88  static void TranslatePoints(const double t[3], vtkDataArray* da);
89 
94  static void TransformPoints(vtkMatrix4x4* m4, vtkDataArray* da);
95 
100  static void TransformNormals(vtkMatrix3x3* m3, const double spacing[3], vtkDataArray* da);
101 
110  static void TransformVectors(vtkMatrix3x3* m3, const double spacing[3], vtkDataArray* da);
111 
112 protected:
113  vtkImageTransform() = default;
114  ~vtkImageTransform() override = default;
115 
116 private:
117  vtkImageTransform(const vtkImageTransform&) = delete;
118  void operator=(const vtkImageTransform&) = delete;
119 };
120 
121 VTK_ABI_NAMESPACE_END
122 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:52
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
concrete class for storing a set of points
Definition: vtkPointSet.h:58
helper class to transform output of non-axis-aligned images
a simple class to control print indentation
Definition: vtkIndent.h:28
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3x3 transformation matrices
Definition: vtkMatrix3x3.h:26