VTK  9.7.1
vtkExplicitStructuredGridAlgorithm.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
9 #ifndef vtkExplicitStructuredGridAlgorithm_h
10 #define vtkExplicitStructuredGridAlgorithm_h
11 
12 #include "vtkAlgorithm.h"
13 #include "vtkCommonExecutionModelModule.h" // For export macro
14 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
15 
16 VTK_ABI_NAMESPACE_BEGIN
17 class vtkDataSet;
19 
20 class VTKCOMMONEXECUTIONMODEL_EXPORT VTK_MARSHALAUTO vtkExplicitStructuredGridAlgorithm
21  : public vtkAlgorithm
22 {
23 public:
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
29 
32  vtkExplicitStructuredGrid* GetOutput();
33  vtkExplicitStructuredGrid* GetOutput(int);
34  virtual void SetOutput(vtkDataObject* d);
36 
42 
43  // this method is not recommended for use, but lots of old style filters
44  // use it
45  vtkDataObject* GetInput();
46  vtkDataObject* GetInput(int port);
47  vtkExplicitStructuredGrid* GetExplicitStructuredGridInput(int port);
48 
50 
55  void SetInputData(vtkDataObject*);
56  void SetInputData(int, vtkDataObject*);
58 
60 
65  void AddInputData(vtkDataObject*);
66  void AddInputData(int, vtkDataObject*);
68 
69 protected:
71  ~vtkExplicitStructuredGridAlgorithm() override = default;
72 
73  // convenience method
74  virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
75  vtkInformationVector* outputVector);
76 
81  virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
82  vtkInformationVector* outputVector);
83 
88  virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
89 
90  virtual int RequestUpdateTime(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
91 
92  // see algorithm for more info
95 
96 private:
98  void operator=(const vtkExplicitStructuredGridAlgorithm&) = delete;
99 };
100 
101 VTK_ABI_NAMESPACE_END
102 #endif
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
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:53
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
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
structured grid with explicit topology and geometry
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
#define VTK_MARSHALAUTO
Superclass for algorithms that produce only explicit structured grid as output.
general representation of visualization data
Definition: vtkDataObject.h:55