VTK  9.6.20260415
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
140
141#ifndef vtkTransformFilter_h
142#define vtkTransformFilter_h
143
144#include "vtkFiltersGeneralModule.h" // For export macro
145#include "vtkPointSetAlgorithm.h"
146
147VTK_ABI_NAMESPACE_BEGIN
149class vtkDataSet;
151
152class VTKFILTERSGENERAL_EXPORT vtkTransformFilter : public vtkPointSetAlgorithm
153{
154public:
156
162 void PrintSelf(ostream& os, vtkIndent indent) override;
164
169
171
175 vtkGetObjectMacro(Transform, vtkAbstractTransform);
177
179
184 vtkSetMacro(OutputPointsPrecision, int);
185 vtkGetMacro(OutputPointsPrecision, int);
187
189
195 vtkSetMacro(TransformAllInputVectors, bool);
196 vtkGetMacro(TransformAllInputVectors, bool);
197 vtkBooleanMacro(TransformAllInputVectors, bool);
199
200protected:
203
208 vtkInformationVector* outputVector) override;
209
214
220 int FillInputPortInformation(int port, vtkInformation* info) override;
221
225 int FillOutputPortInformation(int port, vtkInformation* info) override;
226
232
236
237private:
238 vtkTransformFilter(const vtkTransformFilter&) = delete;
239 void operator=(const vtkTransformFilter&) = delete;
240
246 vtkDataSet* CreateNewDataSetIfNeeded(vtkDataSet* input, vtkDataSet* output);
247
252
256 bool ExecuteDataSet(vtkDataSet* input, vtkPointSet* output, bool useCachedGeometry);
260 vtkSmartPointer<vtkPointSet> ConvertInput(vtkDataSet* input);
265 void InitializeOutputPointSet(vtkPointSet* input, vtkPointSet* output);
269 void TransformPointData(vtkPointSet* input, vtkPointSet* output, bool preservePoints);
273 void TransformCellData(vtkPointSet* input, vtkPointSet* output);
277 vtkDataArray* CreateFromArray(vtkDataArray* input);
279
281};
282
283VTK_ABI_NAMESPACE_END
284#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:166
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:168
concrete class for storing a set of points
Definition vtkPointSet.h:98
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