VTK
vtkLabelHierarchyAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLabelHierarchyAlgorithm.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 =========================================================================*/
34 #ifndef vtkLabelHierarchyAlgorithm_h
35 #define vtkLabelHierarchyAlgorithm_h
36 
37 #include "vtkRenderingLabelModule.h" // For export macro
38 #include "vtkAlgorithm.h"
39 
40 class vtkDataSet;
41 class vtkLabelHierarchy;
42 
43 class VTKRENDERINGLABEL_EXPORT vtkLabelHierarchyAlgorithm : public vtkAlgorithm
44 {
45 public:
48  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
49 
51 
54  vtkLabelHierarchy* GetOutput();
55  vtkLabelHierarchy* GetOutput(int);
56  virtual void SetOutput(vtkDataObject* d);
58 
64  vtkInformationVector*) VTK_OVERRIDE;
65 
66  // this method is not recommended for use, but lots of old style filters use it
67  vtkDataObject* GetInput();
68  vtkDataObject* GetInput(int port);
69  vtkLabelHierarchy* GetLabelHierarchyInput(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  ~vtkLabelHierarchyAlgorithm() VTK_OVERRIDE;
94 
99  virtual int RequestDataObject(
100  vtkInformation* request,
101  vtkInformationVector** inputVector,
102  vtkInformationVector* outputVector );
103 
104  // convenience method
105  virtual int RequestInformation(
106  vtkInformation* request,
107  vtkInformationVector** inputVector,
108  vtkInformationVector* outputVector );
109 
114  virtual int RequestData(
115  vtkInformation* request,
116  vtkInformationVector** inputVector,
117  vtkInformationVector* outputVector );
118 
123  virtual int RequestUpdateExtent(
126  vtkInformationVector* );
127 
128  // see algorithm for more info
129  int FillOutputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
130  int FillInputPortInformation( int port, vtkInformation* info ) VTK_OVERRIDE;
131 
132 private:
133  vtkLabelHierarchyAlgorithm( const vtkLabelHierarchyAlgorithm& ) VTK_DELETE_FUNCTION;
134  void operator = ( const vtkLabelHierarchyAlgorithm& ) VTK_DELETE_FUNCTION;
135 };
136 
137 #endif
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
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:53
a simple class to control print indentation
Definition: vtkIndent.h:33
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:58