VTK  9.3.1
vtkHyperTreeGridAlgorithm.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
23 #ifndef vtkHyperTreeGridAlgorithm_h
24 #define vtkHyperTreeGridAlgorithm_h
25 
26 #include "vtkAlgorithm.h"
27 #include "vtkCommonExecutionModelModule.h" // For export macro
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 class vtkBitArray;
32 class vtkHyperTreeGrid;
33 class vtkPolyData;
35 
36 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkHyperTreeGridAlgorithm : public vtkAlgorithm
37 {
38 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
43 
46  vtkDataObject* GetOutput();
47  vtkDataObject* GetOutput(int);
48  virtual void SetOutput(vtkDataObject*);
50 
52 
55  vtkHyperTreeGrid* GetHyperTreeGridOutput();
56  vtkHyperTreeGrid* GetHyperTreeGridOutput(int);
58 
60 
63  vtkPolyData* GetPolyDataOutput();
64  vtkPolyData* GetPolyDataOutput(int);
66 
68 
71  vtkUnstructuredGrid* GetUnstructuredGridOutput();
72  vtkUnstructuredGrid* GetUnstructuredGridOutput(int);
74 
80 
82 
87  void SetInputData(vtkDataObject*);
88  void SetInputData(int, vtkDataObject*);
90 
92 
97  void AddInputData(vtkDataObject*);
98  void AddInputData(int, vtkDataObject*);
100 
101 protected:
103  ~vtkHyperTreeGridAlgorithm() override;
104 
108  int RequestDataObject(
109  vtkInformation*, vtkInformationVector** inputVector, vtkInformationVector* outputVector);
110 
111  // convenience method
112  virtual int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
113 
118  virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
119 
124  virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
125 
130  virtual int ProcessTrees(vtkHyperTreeGrid*, vtkDataObject*) = 0;
131 
133 
136  int FillInputPortInformation(int, vtkInformation*) override;
137  int FillOutputPortInformation(int, vtkInformation*) override;
139 
141 
147 
149 
154 
155 private:
157  void operator=(const vtkHyperTreeGridAlgorithm&) = delete;
158 };
159 
160 VTK_ABI_NAMESPACE_END
161 #endif
vtkDataSetAttributes * InData
Reference to input and output data.
Store vtkAlgorithm input/output information.
bool AppropriateOutput
JB Si a vrai, l'objet output aura le meme type que le type d'objet en entree input.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
vtkDataSetAttributes * OutData
Reference to input and output data.
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:51
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
dataset represents arbitrary combinations of all possible cell types
represent and manipulate attribute data in a dataset
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:28
Superclass for algorithms that produce a hyper tree grid as output.
Store zero or more vtkInformation instances.
general representation of visualization data
Definition: vtkDataObject.h:54