VTK  9.3.20240419
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:
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
44 
49 
53  unsigned int GetNumberOfMembers();
54 
56 
62  vtkSetMacro(CurrentMember, unsigned int);
63  vtkGetMacro(CurrentMember, unsigned int);
65 
72 
77 
82 
83 protected:
85  ~vtkEnsembleSource() override;
86 
88 
89  friend class vtkInformationEnsembleMemberRequestKey;
90 
92  vtkInformationVector* outputVector) override;
94 
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
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:162
source that manages dataset ensembles
static vtkInformationIntegerRequestKey * UPDATE_MEMBER()
Key used to request a particular ensemble member.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
unsigned int GetNumberOfMembers()
Returns the number of ensemble members.
unsigned int CurrentMember
static vtkInformationIntegerKey * DATA_MEMBER()
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
static vtkInformationDataObjectMetaDataKey * META_DATA()
Meta-data for the ensemble.
vtkAlgorithm * GetCurrentReader(vtkInformation *)
void AddMember(vtkAlgorithm *)
Add an algorithm (source) that will produce the next ensemble member.
static vtkEnsembleSource * New()
void SetMetaData(vtkTable *)
Set the meta-data that will be propagated downstream.
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkEnsembleSourceInternal * Internal
~vtkEnsembleSource() override
void RemoveAllMembers()
Removes all ensemble members.
a simple class to control print indentation
Definition: vtkIndent.h:108
key used to define meta-data of type vtkDataObject vtkInformationDataObjectMetaDataKey is a vtkInform...
Key for integer values in vtkInformation.
key that can used to request integer values from the pipeline vtkInformationIntegerRequestKey is a vt...
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:168
int vtkTypeBool
Definition: vtkABI.h:64