VTK  9.7.1
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 
30 #include "vtkDataObjectAlgorithm.h"
31 #include "vtkFiltersSourcesModule.h" // For export macro
32 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkProgrammableDataObjectSource
36  : public vtkDataObjectAlgorithm
37 {
38 public:
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 
65 protected:
68 
70 
71  ProgrammableMethodCallbackType ExecuteMethod; // function to invoke
72  ProgrammableMethodCallbackType ExecuteMethodArgDelete;
74 
75 private:
77  void operator=(const vtkProgrammableDataObjectSource&) = delete;
78 };
79 
80 VTK_ABI_NAMESPACE_END
81 #endif
ProgrammableMethodCallbackType ExecuteMethod
Store vtkAlgorithm input/output information.
static vtkDataObjectAlgorithm * New()
a simple class to control print indentation
Definition: vtkIndent.h:28
ProgrammableMethodCallbackType ExecuteMethodArgDelete
Superclass for algorithms that produce only data object as output.
generate source data object via a user-specified function
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.