VTK  9.3.1
vtkPythonAlgorithm.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
32 #ifndef vtkPythonAlgorithm_h
33 #define vtkPythonAlgorithm_h
34 #if !defined(__VTK_WRAP__) || defined(__VTK_WRAP_HIERARCHY__) || defined(__VTK_WRAP_PYTHON__)
35 
36 #include "vtkPython.h" // Must be first
37 
38 #include "vtkAlgorithm.h"
39 #include "vtkFiltersPythonModule.h" // For export macro
40 
41 VTK_ABI_NAMESPACE_BEGIN
42 class vtkSmartPyObject;
43 
44 class VTKFILTERSPYTHON_EXPORT vtkPythonAlgorithm : public vtkAlgorithm
45 {
46 public:
47  static vtkPythonAlgorithm* New();
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
58  void SetPythonObject(PyObject* obj);
59 
64  void SetNumberOfInputPorts(int n) override;
65 
70  void SetNumberOfOutputPorts(int n) override;
71 
72 protected:
74  ~vtkPythonAlgorithm() override;
75 
77  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
80 
81 private:
82  vtkPythonAlgorithm(const vtkPythonAlgorithm&) = delete;
83  void operator=(const vtkPythonAlgorithm&) = delete;
84 
85  int CheckResult(const char* method, const vtkSmartPyObject& res);
86 
87  PyObject* Object;
88 };
89 
90 VTK_ABI_NAMESPACE_END
91 #endif
92 #endif
Store vtkAlgorithm input/output information.
virtual void SetNumberOfInputPorts(int n)
Set the number of input ports used by the algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetNumberOfOutputPorts(int n)
Set the number of output ports provided by the algorithm.
int vtkTypeBool
Definition: vtkABI.h:64
virtual vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:51
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:28
algorithm that can be implemented in Python
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
struct _object PyObject
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()