VTK  9.3.1
vtkLabelHierarchyAlgorithm.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
22 #ifndef vtkLabelHierarchyAlgorithm_h
23 #define vtkLabelHierarchyAlgorithm_h
24 
25 #include "vtkAlgorithm.h"
26 #include "vtkRenderingLabelModule.h" // For export macro
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class vtkDataSet;
30 class vtkLabelHierarchy;
31 
32 class VTKRENDERINGLABEL_EXPORT vtkLabelHierarchyAlgorithm : public vtkAlgorithm
33 {
34 public:
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
43  vtkLabelHierarchy* GetOutput();
44  vtkLabelHierarchy* GetOutput(int);
45  virtual void SetOutput(vtkDataObject* d);
47 
53 
54  // this method is not recommended for use, but lots of old style filters use it
55  vtkDataObject* GetInput();
56  vtkDataObject* GetInput(int port);
57  vtkLabelHierarchy* GetLabelHierarchyInput(int port);
58 
60 
65  void SetInputData(vtkDataObject*);
66  void SetInputData(int, vtkDataObject*);
68 
70 
75  void AddInputData(vtkDataObject*);
76  void AddInputData(int, vtkDataObject*);
78 
79 protected:
81  ~vtkLabelHierarchyAlgorithm() override;
82 
87  virtual int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
88  vtkInformationVector* outputVector);
89 
90  // convenience method
91  virtual int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
92  vtkInformationVector* outputVector);
93 
98  virtual int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
99  vtkInformationVector* outputVector);
100 
105  virtual int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
106 
107  // see algorithm for more info
109  int FillInputPortInformation(int port, vtkInformation* info) override;
110 
111 private:
113  void operator=(const vtkLabelHierarchyAlgorithm&) = delete;
114 };
115 
116 VTK_ABI_NAMESPACE_END
117 #endif
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:52
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
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
Superclass for algorithms that produce only label hierarchies as output.
contains an octree of labels
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
general representation of visualization data
Definition: vtkDataObject.h:54