VTK: Common/DataModel/vtkImageTransform.h Source File

| 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
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
vtkImageTransform
helper class to transform output of non-axis-aligned images
Definition: vtkImageTransform.h:45
vtkImageTransform::TransformVectors
static void TransformVectors(vtkMatrix3x3 *m3, double spacing[3], vtkDataArray *da)
Given three-component vectors represented by a vtkDataArray, transform the vectors using the matrix p...
vtkImageTransform::TransformPoints
static void TransformPoints(vtkMatrix4x4 *m4, vtkDataArray *da)
Given x-y-z points represented by a vtkDataArray, transform the points using the matrix provided.
vtkImageTransform::TransformPointSet
static void TransformPointSet(vtkImageData *im, vtkPointSet *ps)
Given a vtkImageData (and hence its associated orientation matrix), and an instance of vtkPointSet,...
vtkImageTransform::TransformNormals
static void TransformNormals(vtkMatrix3x3 *m3, double spacing[3], vtkDataArray *da)
Given three-component normals represented by a vtkDataArray, transform the normals using the matrix p...
vtkImageTransform::TranslatePoints
static void TranslatePoints(double *t, vtkDataArray *da)
Given x-y-z points represented by a vtkDataArray, translate the points using the image origin.
vtkImageTransform::New
static vtkImageTransform * New()
Standard methods for construction, type information, printing.
vtkImageTransform::vtkImageTransform
vtkImageTransform()=default
vtkImageTransform::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for construction, type information, printing.
vtkImageTransform::~vtkImageTransform
~vtkImageTransform() override=default
vtkImageTransform::TransformPointSet
static void TransformPointSet(vtkImageData *im, vtkPointSet *ps, bool transNormals, bool transVectors)
Given a vtkImageData (and hence its associated orientation matrix), and an instance of vtkPointSet,...
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkMatrix3x3
represent and manipulate 3x3 transformation matrices
Definition: vtkMatrix3x3.h:35
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:40
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:61
vtkPointSet
concrete class for storing a set of points
Definition: vtkPointSet.h:68
vtkX3D::spacing
@ spacing
Definition: vtkX3D.h:481
vtkObject.h