VTK  9.7.0
vtkTransformFilter.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
32#ifndef vtkTransformFilter_h
33#define vtkTransformFilter_h
34
35#include "vtkFiltersGeneralModule.h" // For export macro
37
38VTK_ABI_NAMESPACE_BEGIN
40class vtkDataSet;
42
43class VTKFILTERSGENERAL_EXPORT vtkTransformFilter : public vtkPointSetAlgorithm
44{
45public:
47
53 void PrintSelf(ostream& os, vtkIndent indent) override;
55
60
62
66 vtkGetObjectMacro(Transform, vtkAbstractTransform);
68
70
75 vtkSetMacro(OutputPointsPrecision, int);
76 vtkGetMacro(OutputPointsPrecision, int);
78
80
86 vtkSetMacro(TransformAllInputVectors, bool);
87 vtkGetMacro(TransformAllInputVectors, bool);
88 vtkBooleanMacro(TransformAllInputVectors, bool);
90
91protected:
94
99 vtkInformationVector* outputVector) override;
100
105
111 int FillInputPortInformation(int port, vtkInformation* info) override;
112
116 int FillOutputPortInformation(int port, vtkInformation* info) override;
117
123
127
128private:
129 vtkTransformFilter(const vtkTransformFilter&) = delete;
130 void operator=(const vtkTransformFilter&) = delete;
131
137 vtkDataSet* CreateNewDataSetIfNeeded(vtkDataSet* input, vtkDataSet* output);
138
143
147 bool ExecuteDataSet(vtkDataSet* input, vtkPointSet* output, bool useCachedGeometry);
151 vtkSmartPointer<vtkPointSet> ConvertInput(vtkDataSet* input);
156 void InitializeOutputPointSet(vtkPointSet* input, vtkPointSet* output);
160 void TransformPointData(vtkPointSet* input, vtkPointSet* output, bool preservePoints);
164 void TransformCellData(vtkPointSet* input, vtkPointSet* output);
168 vtkDataArray* CreateFromArray(vtkDataArray* input);
170
172};
173
174VTK_ABI_NAMESPACE_END
175#endif
superclass for all geometric transformations
vtkDataObjectMeshCache is a class to store and reuse the mesh of a vtkDataSet, while forwarding data ...
abstract class to specify dataset behavior
Definition vtkDataSet.h:57
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:59
concrete class for storing a set of points
Definition vtkPointSet.h:59
Hold a reference to a vtkObjectBase instance.
~vtkTransformFilter() override
vtkAbstractTransform * Transform
int FillOutputPortInformation(int port, vtkInformation *info) override
vtkTransformFilter returns a vtkPointSet or a vtkCompositeDataSet of vtkPointSet.
static vtkTransformFilter * New()
Standard methods for instantiation, obtaining type information, and printing.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Apply the transform on the input data.
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Create a vtkPointSet or a vtkCompositeDataSet subclass, depending on the actual input data.
int FillInputPortInformation(int port, vtkInformation *info) override
Specifies that the filter only takes input dataset types of vtkPointSet, vtkImageData,...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, obtaining type information, and printing.
vtkDataArray * CreateNewDataArray(vtkDataArray *input=nullptr)
Create a new floating point data array.
virtual void SetTransform(vtkAbstractTransform *)
Specify the transform object used to transform points.
vtkMTimeType GetMTime() override
Return the MTime also considering the transform.
#define vtkDataArray
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:318