VTK  9.3.20240328
vtkProcess.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
29 #ifndef vtkProcess_h
30 #define vtkProcess_h
31 
32 #include "vtkObject.h"
33 #include "vtkParallelCoreModule.h" // For export macro
34 
35 VTK_ABI_NAMESPACE_BEGIN
37 
38 class VTKPARALLELCORE_EXPORT vtkProcess : public vtkObject
39 {
40 public:
41  vtkTypeMacro(vtkProcess, vtkObject);
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
48  virtual void Execute() = 0;
49 
55 
61 
66 
67 protected:
69  ~vtkProcess() override;
70 
73 
74 private:
75  vtkProcess(const vtkProcess&) = delete;
76  void operator=(const vtkProcess&) = delete;
77 };
78 
79 VTK_ABI_NAMESPACE_END
80 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Multiprocessing communication superclass.
abstract base class for most VTK objects
Definition: vtkObject.h:161
a process that can be launched by a vtkMultiProcessController
Definition: vtkProcess.h:39
int ReturnValue
Definition: vtkProcess.h:72
virtual void Execute()=0
Entry point of the process.
void SetController(vtkMultiProcessController *aController)
This method should not be called directly but set by the controller itself.
int GetReturnValue()
Value set at the end of a call to Execute.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkProcess() override
vtkMultiProcessController * GetController()
Give access to the controller that launched the process.
vtkMultiProcessController * Controller
Definition: vtkProcess.h:71