VTK  9.2.6
vtkProgrammableAttributeDataFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkProgrammableAttributeDataFilter.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
80#ifndef vtkProgrammableAttributeDataFilter_h
81#define vtkProgrammableAttributeDataFilter_h
82
83#include "vtkDataSetAlgorithm.h"
84#include "vtkFiltersProgrammableModule.h" // For export macro
85
87
88class VTKFILTERSPROGRAMMABLE_EXPORT vtkProgrammableAttributeDataFilter : public vtkDataSetAlgorithm
89{
90public:
93 void PrintSelf(ostream& os, vtkIndent indent) override;
94
99
104
108 vtkDataSetCollection* GetInputList() { return this->InputList; }
109
119 typedef void (*ProgrammableMethodCallbackType)(void* arg);
120
125 void SetExecuteMethod(void (*f)(void*), void* arg);
126
130 void SetExecuteMethodArgDelete(void (*f)(void*));
131
132protected:
135
137 vtkDataSetCollection* InputList; // list of datasets to process
138 ProgrammableMethodCallbackType ExecuteMethod; // function to invoke
139 ProgrammableMethodCallbackType ExecuteMethodArgDelete;
141
143
144private:
145 // hide the superclass' AddInput() from the user and the compiler
146 void AddInput(vtkDataObject*)
147 {
148 vtkErrorMacro(<< "AddInput() must be called with a vtkDataSet not a vtkDataObject.");
149 }
150
151private:
153 void operator=(const vtkProgrammableAttributeDataFilter&) = delete;
154};
155
156#endif
general representation of visualization data
Superclass for algorithms that produce output of the same type as input.
maintain an unordered list of dataset objects
abstract class to specify dataset behavior
Definition vtkDataSet.h:63
Detect and break reference loops.
a simple class to control print indentation
Definition vtkIndent.h:40
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 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.