VTK  9.4.20250113
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
24VTK_ABI_NAMESPACE_BEGIN
25struct vtkEnsembleSourceInternal;
26class vtkTable;
30
31class VTKCOMMONEXECUTIONMODEL_EXPORT vtkEnsembleSource : public vtkAlgorithm
32{
33public:
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
83protected:
86
88
89 friend class vtkInformationEnsembleMemberRequestKey;
90
92 vtkInformationVector* outputVector) override;
94
96
97 vtkEnsembleSourceInternal* Internal;
98 unsigned int CurrentMember;
99
101
102private:
103 vtkEnsembleSource(const vtkEnsembleSource&) = delete;
104 void operator=(const vtkEnsembleSource&) = delete;
105};
106
107VTK_ABI_NAMESPACE_END
108#endif
Superclass for all sources, filters, and sinks in VTK.
source that manages dataset ensembles
static vtkEnsembleSource * New()
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.
static vtkInformationIntegerKey * DATA_MEMBER()
unsigned int CurrentMember
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
void AddMember(vtkAlgorithm *)
Add an algorithm (source) that will produce the next ensemble member.
static vtkInformationIntegerRequestKey * UPDATE_MEMBER()
Key used to request a particular ensemble member.
vtkAlgorithm * GetCurrentReader(vtkInformation *)
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.
static vtkInformationDataObjectMetaDataKey * META_DATA()
Meta-data for the ensemble.
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:169
int vtkTypeBool
Definition vtkABI.h:64