VTK  9.4.20250205
vtkPassArrays.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-NVIDIA-USGov
58#ifndef vtkPassArrays_h
59#define vtkPassArrays_h
60
62#include "vtkFiltersGeneralModule.h" // For export macro
63
64VTK_ABI_NAMESPACE_BEGIN
65class VTKFILTERSGENERAL_EXPORT vtkPassArrays : public vtkDataObjectAlgorithm
66{
67public:
68 static vtkPassArrays* New();
70 void PrintSelf(ostream& os, vtkIndent indent) override;
71
78 virtual void AddArray(int fieldType, const char* name);
79
80 virtual void AddPointDataArray(const char* name);
81 virtual void AddCellDataArray(const char* name);
82 virtual void AddFieldDataArray(const char* name);
83
84 virtual void RemoveArray(int fieldType, const char* name);
85
86 virtual void RemovePointDataArray(const char* name);
87 virtual void RemoveCellDataArray(const char* name);
88 virtual void RemoveFieldDataArray(const char* name);
89
91
94 virtual void ClearArrays();
95 virtual void ClearPointDataArrays();
96 virtual void ClearCellDataArrays();
97 virtual void ClearFieldDataArrays();
99
101
105 vtkSetMacro(RemoveArrays, bool);
106 vtkGetMacro(RemoveArrays, bool);
107 vtkBooleanMacro(RemoveArrays, bool);
109
111
116 vtkSetMacro(UseFieldTypes, bool);
117 vtkGetMacro(UseFieldTypes, bool);
118 vtkBooleanMacro(UseFieldTypes, bool);
120
128 virtual void AddFieldType(int fieldType);
129
133 virtual void ClearFieldTypes();
134
139 vtkInformationVector* outputVector) override;
140
141protected:
143 ~vtkPassArrays() override;
144
149 int FillInputPortInformation(int port, vtkInformation* info) override;
150
155 vtkInformationVector* outputVector) override;
156
158
161
162 class Internals;
163 Internals* Implementation;
164
165private:
166 vtkPassArrays(const vtkPassArrays&) = delete;
167 void operator=(const vtkPassArrays&) = delete;
168};
169
170VTK_ABI_NAMESPACE_END
171#endif
Superclass for algorithms that produce only data object as output.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Passes a subset of arrays to the output.
~vtkPassArrays() override
virtual void ClearFieldDataArrays()
Clear all arrays to pass through.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
virtual void AddArray(int fieldType, const char *name)
Adds an array to pass through.
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is required to capture REQUEST_DATA_OBJECT requests.
virtual void RemoveFieldDataArray(const char *name)
virtual void ClearPointDataArrays()
Clear all arrays to pass through.
virtual void AddFieldDataArray(const char *name)
int FillInputPortInformation(int port, vtkInformation *info) override
Override to limit types of supported input types to non-composite datasets.
Internals * Implementation
virtual void ClearFieldTypes()
Clear all field types to process.
virtual void RemoveCellDataArray(const char *name)
virtual void RemoveArray(int fieldType, const char *name)
static vtkPassArrays * New()
virtual void AddCellDataArray(const char *name)
virtual void AddPointDataArray(const char *name)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void RemovePointDataArray(const char *name)
virtual void AddFieldType(int fieldType)
Add a field type to process.
virtual void ClearArrays()
Clear all arrays to pass through.
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Creates the same output type as the input type.
virtual void ClearCellDataArrays()
Clear all arrays to pass through.
int vtkTypeBool
Definition vtkABI.h:64