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);
49 
51 
54  vtkLabelHierarchy* GetOutput();
55  vtkLabelHierarchy* GetOutput(int);
56  virtual void SetOutput(vtkDataObject* d);
58 
62  virtual int ProcessRequest(vtkInformation*,
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:
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(
127 
128  // see algorithm for more info
129  virtual int FillOutputPortInformation( int port, vtkInformation* info );
130  virtual int FillInputPortInformation( int port, vtkInformation* info );
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: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 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:64