VTK  9.5.20251201
vtkProgrammableAttributeDataFilter.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
67
68#ifndef vtkProgrammableAttributeDataFilter_h
69#define vtkProgrammableAttributeDataFilter_h
70
71#include "vtkDataSetAlgorithm.h"
72#include "vtkFiltersProgrammableModule.h" // For export macro
73
74VTK_ABI_NAMESPACE_BEGIN
76
77class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableAttributeDataFilter : public vtkDataSetAlgorithm
78{
79public:
82 void PrintSelf(ostream& os, vtkIndent indent) override;
83
88
93
98
108 typedef void (*ProgrammableMethodCallbackType)(void* arg);
109
114 void SetExecuteMethod(void (*f)(void*), void* arg);
115
119 void SetExecuteMethodArgDelete(void (*f)(void*));
120
121protected:
124
126 vtkDataSetCollection* InputList; // list of datasets to process
130
132
133private:
134 // hide the superclass' AddInput() from the user and the compiler
136 {
137 vtkErrorMacro(<< "AddInput() must be called with a vtkDataSet not a vtkDataObject.");
138 }
139
141 void operator=(const vtkProgrammableAttributeDataFilter&) = delete;
142};
143
144VTK_ABI_NAMESPACE_END
145#endif
general representation of visualization data
maintain an unordered list of dataset objects
abstract class to specify dataset behavior
Definition vtkDataSet.h:166
Detect and break reference loops.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
manipulate attribute (cell and point) data via a user-specified function
vtkDataSetCollection * GetInputList()
Return the list of inputs.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
void SetExecuteMethodArgDelete(void(*f)(void *))
Set the arg delete method.
void SetExecuteMethod(void(*f)(void *), void *arg)
Specify the function to use to operate on the point attribute data.
void(* ProgrammableMethodCallbackType)(void *arg)
Signature definition for programmable method callbacks.
void ReportReferences(vtkGarbageCollector *) override
static vtkProgrammableAttributeDataFilter * New()
void RemoveInput(vtkDataSet *in)
Remove a dataset from the list of data to process.
void AddInput(vtkDataSet *in)
Add a dataset to the list of data to process.