VTK  9.4.20250511
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
42VTK_ABI_NAMESPACE_BEGIN
43class vtkDataArray;
44class vtkImageData;
45class vtkMatrix3x3;
46class vtkMatrix4x4;
47class vtkPointSet;
48
49class VTKCOMMONDATAMODEL_EXPORT vtkImageTransform : public vtkObject
50{
51public:
53
58 void PrintSelf(ostream& os, vtkIndent indent) override;
60
62
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
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
112protected:
113 vtkImageTransform() = default;
114 ~vtkImageTransform() override = default;
115
116private:
117 vtkImageTransform(const vtkImageTransform&) = delete;
118 void operator=(const vtkImageTransform&) = delete;
119};
120
121VTK_ABI_NAMESPACE_END
122#endif
abstract superclass for arrays of numeric data
topologically and geometrically regular array of data
helper class to transform output of non-axis-aligned images
static vtkImageTransform * New()
Standard methods for construction, type information, printing.
static void TransformPoints(vtkMatrix4x4 *m4, vtkDataArray *da)
Given x-y-z points represented by a vtkDataArray, transform the points using the matrix provided.
static void TransformNormals(vtkMatrix3x3 *m3, const double spacing[3], vtkDataArray *da)
Given three-component normals represented by a vtkDataArray, transform the normals using the matrix p...
static void TransformPointSet(vtkImageData *im, vtkPointSet *ps)
Given a vtkImageData (and hence its associated orientation matrix), and an instance of vtkPointSet,...
static void TranslatePoints(const double t[3], vtkDataArray *da)
Given x-y-z points represented by a vtkDataArray, translate the points using the image origin.
vtkImageTransform()=default
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for construction, type information, printing.
~vtkImageTransform() override=default
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,...
static void TransformVectors(vtkMatrix3x3 *m3, const double spacing[3], vtkDataArray *da)
Given three-component vectors represented by a vtkDataArray, transform the vectors using the matrix p...
a simple class to control print indentation
Definition vtkIndent.h:108
represent and manipulate 3x3 transformation matrices
represent and manipulate 4x4 transformation matrices
abstract base class for most VTK objects
Definition vtkObject.h:162
concrete class for storing a set of points
Definition vtkPointSet.h:98