VTK
vtkDataObjectAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDataObjectAlgorithm.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 =========================================================================*/
33 #ifndef vtkDataObjectAlgorithm_h
34 #define vtkDataObjectAlgorithm_h
35 
36 #include "vtkCommonExecutionModelModule.h" // For export macro
37 #include "vtkAlgorithm.h"
38 #include "vtkDataObject.h" // makes things a bit easier
39 
40 class vtkDataSet;
41 class vtkDataObject;
42 
43 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkDataObjectAlgorithm : public vtkAlgorithm
44 {
45 public:
46  static vtkDataObjectAlgorithm *New();
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
51 
54  vtkDataObject* GetOutput();
55  vtkDataObject* GetOutput(int);
56  virtual void SetOutput(vtkDataObject* d);
58 
64  vtkInformationVector*) override;
65 
66  // this method is not recommended for use, but lots of old style filters
67  // use it
68  vtkDataObject* GetInput();
69  vtkDataObject *GetInput(int port);
70 
72 
77  void SetInputData(vtkDataObject *);
78  void SetInputData(int, vtkDataObject*);
80 
82 
87  void AddInputData(vtkDataObject *);
88  void AddInputData(int, vtkDataObject*);
90 
91 protected:
93  ~vtkDataObjectAlgorithm() override;
94 
95  // convenience method
96  virtual int RequestInformation(vtkInformation* request,
97  vtkInformationVector** inputVector,
98  vtkInformationVector* outputVector);
99 
107  {
108  return 1;
109  }
110 
118  {
119  return 1;
120  }
121 
125  {
126  return 1;
127  }
128 
129  // see algorithm for more info
131  int FillInputPortInformation(int port, vtkInformation* info) override;
132 
133 private:
135  void operator=(const vtkDataObjectAlgorithm&) = delete;
136 };
137 
138 #endif
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Upstream/Downstream requests form the generalized interface through which executives invoke a algorit...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:59
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:39
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
Superclass for algorithms that produce only data object as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
general representation of visualization data
Definition: vtkDataObject.h:64