VTK  9.3.20240221
vtkExecutionAggregator.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
3 
17 #ifndef vtkExecutionAggregator_h
18 #define vtkExecutionAggregator_h
19 
20 #include "vtkObject.h"
21 
22 #include "vtkCommonExecutionModelModule.h" // for export macro
23 #include <vtkDataObject.h> // for smart pointer signature
24 #include <vtkSmartPointer.h> // for smart pointer signature
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 
28 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkExecutionAggregator : public vtkObject
29 {
30 public:
32  void PrintSelf(std::ostream& os, vtkIndent indent) override;
33 
39 
43  virtual bool Aggregate(vtkDataObject* input) = 0;
44 
50 
56  virtual void Clear() = 0;
57 
58 protected:
60  ~vtkExecutionAggregator() override = default;
61 
62 private:
64  void operator=(const vtkExecutionAggregator&) = delete;
65 };
66 
67 VTK_ABI_NAMESPACE_END
68 
69 #endif // vtkExecutionAggregator_h
general representation of visualization data
Aggregate the results of the sub-pipeline in vtkEndFor.
virtual vtkSmartPointer< vtkDataObject > RequestDataObject(vtkDataObject *input)
Create the empty output data set.
vtkExecutionAggregator()=default
~vtkExecutionAggregator() override=default
void PrintSelf(std::ostream &os, vtkIndent indent) override
virtual vtkSmartPointer< vtkDataObject > GetOutputDataObject()=0
Called after the iterations are done, to retrieve the resulting data object.
virtual bool Aggregate(vtkDataObject *input)=0
Called at the end of each iteration with the corresponding data object.
virtual void Clear()=0
Called after the iterations are done, to clean memory that where used by the Aggregate method.
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:161