VTK  9.3.1
vtkEnsembleSource.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
18 #ifndef vtkEnsembleSource_h
19 #define vtkEnsembleSource_h
20 
21 #include "vtkAlgorithm.h"
22 #include "vtkCommonExecutionModelModule.h" // For export macro
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 struct vtkEnsembleSourceInternal;
26 class vtkTable;
30 
31 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkEnsembleSource : public vtkAlgorithm
32 {
33 public:
34  static vtkEnsembleSource* New();
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
43  void AddMember(vtkAlgorithm*);
44 
48  void RemoveAllMembers();
49 
53  unsigned int GetNumberOfMembers();
54 
56 
62  vtkSetMacro(CurrentMember, unsigned int);
63  vtkGetMacro(CurrentMember, unsigned int);
65 
71  void SetMetaData(vtkTable*);
72 
76  static vtkInformationDataObjectMetaDataKey* META_DATA();
77 
81  static vtkInformationIntegerRequestKey* UPDATE_MEMBER();
82 
83 protected:
85  ~vtkEnsembleSource() override;
86 
87  static vtkInformationIntegerKey* DATA_MEMBER();
88 
89  friend class vtkInformationEnsembleMemberRequestKey;
90 
92  vtkInformationVector* outputVector) override;
93  int FillOutputPortInformation(int, vtkInformation*) override;
94 
95  vtkAlgorithm* GetCurrentReader(vtkInformation*);
96 
97  vtkEnsembleSourceInternal* Internal;
98  unsigned int CurrentMember;
99 
101 
102 private:
103  vtkEnsembleSource(const vtkEnsembleSource&) = delete;
104  void operator=(const vtkEnsembleSource&) = delete;
105 };
106 
107 VTK_ABI_NAMESPACE_END
108 #endif
source that manages dataset ensembles
Store vtkAlgorithm input/output information.
unsigned int CurrentMember
vtkEnsembleSourceInternal * Internal
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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
Key for integer values in vtkInformation.
key used to define meta-data of type vtkDataObject vtkInformationDataObjectMetaDataKey is a vtkInform...
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:58
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
key that can used to request integer values from the pipeline vtkInformationIntegerRequestKey is a vt...