VTK  9.5.20250910
vtkProgrammableDataObjectSource.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
27#ifndef vtkProgrammableDataObjectSource_h
28#define vtkProgrammableDataObjectSource_h
29
31#include "vtkFiltersSourcesModule.h" // For export macro
32#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
33
34VTK_ABI_NAMESPACE_BEGIN
37{
38public:
41 void PrintSelf(ostream& os, vtkIndent indent) override;
42
52 typedef void (*ProgrammableMethodCallbackType)(void* arg);
53
58 void SetExecuteMethod(void (*f)(void*), void* arg);
59
63 void SetExecuteMethodArgDelete(void (*f)(void*));
64
65protected:
68
70
71 ProgrammableMethodCallbackType ExecuteMethod; // function to invoke
72 ProgrammableMethodCallbackType ExecuteMethodArgDelete;
74
75private:
77 void operator=(const vtkProgrammableDataObjectSource&) = delete;
78};
79
80VTK_ABI_NAMESPACE_END
81#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.
generate source data object via a user-specified function
ProgrammableMethodCallbackType ExecuteMethod
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
void SetExecuteMethod(void(*f)(void *), void *arg)
Specify the function to use to generate the output data object.
static vtkProgrammableDataObjectSource * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetExecuteMethodArgDelete(void(*f)(void *))
Set the arg delete method.
ProgrammableMethodCallbackType ExecuteMethodArgDelete
#define VTK_MARSHALAUTO