VTK  9.3.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
31 #ifndef vtkImageTransform_h
32 #define vtkImageTransform_h
33 
34 #include "vtkCommonDataModelModule.h" // For export macro
35 #include "vtkObject.h"
36 
37 VTK_ABI_NAMESPACE_BEGIN
38 class vtkDataArray;
39 class vtkImageData;
40 class vtkMatrix3x3;
41 class vtkMatrix4x4;
42 class vtkPointSet;
43 
44 class VTKCOMMONDATAMODEL_EXPORT vtkImageTransform : public vtkObject
45 {
46 public:
48 
51  static vtkImageTransform* New();
52  vtkTypeMacro(vtkImageTransform, vtkObject);
53  void PrintSelf(ostream& os, vtkIndent indent) override;
55 
57 
68  static void TransformPointSet(vtkImageData* im, vtkPointSet* ps);
69  static void TransformPointSet(
70  vtkImageData* im, vtkPointSet* ps, bool transNormals, bool transVectors);
72 
79  static void TranslatePoints(double* t, vtkDataArray* da);
80 
85  static void TransformPoints(vtkMatrix4x4* m4, vtkDataArray* da);
86 
91  static void TransformNormals(vtkMatrix3x3* m3, double spacing[3], vtkDataArray* da);
92 
97  static void TransformVectors(vtkMatrix3x3* m3, double spacing[3], vtkDataArray* da);
98 
99 protected:
100  vtkImageTransform() = default;
101  ~vtkImageTransform() override = default;
102 
103 private:
104  vtkImageTransform(const vtkImageTransform&) = delete;
105  void operator=(const vtkImageTransform&) = delete;
106 };
107 
108 VTK_ABI_NAMESPACE_END
109 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:51
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:30
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:42
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:25