VTK
vtkEnsembleSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkEnsembleSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
27 #ifndef vtkEnsembleSource_h
28 #define vtkEnsembleSource_h
29 
30 #include "vtkCommonExecutionModelModule.h" // For export macro
31 #include "vtkAlgorithm.h"
32 
33 struct vtkEnsembleSourceInternal;
34 class vtkTable;
38 
39 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkEnsembleSource : public vtkAlgorithm
40 {
41 public:
42  static vtkEnsembleSource *New();
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
51  void AddMember(vtkAlgorithm*);
52 
56  void RemoveAllMembers();
57 
61  unsigned int GetNumberOfMembers();
62 
64 
70  vtkSetMacro(CurrentMember, unsigned int);
71  vtkGetMacro(CurrentMember, unsigned int);
73 
79  void SetMetaData(vtkTable*);
80 
84  static vtkInformationDataObjectMetaDataKey* META_DATA();
85 
89  static vtkInformationIntegerRequestKey* UPDATE_MEMBER();
90 
91 protected:
93  ~vtkEnsembleSource() override;
94 
95  static vtkInformationIntegerKey* DATA_MEMBER();
96 
97  friend class vtkInformationEnsembleMemberRequestKey;
98 
99  int ProcessRequest(vtkInformation *request,
100  vtkInformationVector **inputVector,
101  vtkInformationVector *outputVector) override;
102  int FillOutputPortInformation(int, vtkInformation*) override;
103 
104  vtkAlgorithm* GetCurrentReader(vtkInformation*);
105 
106  vtkEnsembleSourceInternal* Internal;
107  unsigned int CurrentMember;
108 
110 
111 private:
112  vtkEnsembleSource(const vtkEnsembleSource&) = delete;
113  void operator=(const vtkEnsembleSource&) = delete;
114 };
115 
116 #endif
vtkInformationDataObjectMetaDataKey
key used to define meta-data of type vtkDataObject vtkInformationDataObjectMetaDataKey is a vtkInform...
Definition: vtkInformationDataObjectMetaDataKey.h:31
vtkEnsembleSource::CurrentMember
unsigned int CurrentMember
Definition: vtkEnsembleSource.h:107
vtkEnsembleSource
source that manages dataset ensembles
Definition: vtkEnsembleSource.h:39
vtkAlgorithm
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:53
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:62
vtkEnsembleSource::Internal
vtkEnsembleSourceInternal * Internal
Definition: vtkEnsembleSource.h:106
vtkInformationIntegerRequestKey
key that can used to request integer values from the pipeline vtkInformationIntegerRequestKey is a vt...
Definition: vtkInformationIntegerRequestKey.h:41
vtkAlgorithm.h
vtkEnsembleSource::MetaData
vtkTable * MetaData
Definition: vtkEnsembleSource.h:109
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:31
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:80
vtkAlgorithm::New
static vtkAlgorithm * New()
vtkAlgorithm::ProcessRequest
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
vtkAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAlgorithm::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.