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 =========================================================================*/
33 #ifndef vtkLabelHierarchyAlgorithm_h
34 #define vtkLabelHierarchyAlgorithm_h
35 
36 #include "vtkRenderingLabelModule.h" // For export macro
37 #include "vtkAlgorithm.h"
38 
39 class vtkDataSet;
40 class vtkLabelHierarchy;
41 
43 {
44 public:
47  void PrintSelf(ostream& os, vtkIndent indent);
48 
50 
51  vtkLabelHierarchy* GetOutput();
52  vtkLabelHierarchy* GetOutput(int);
53  virtual void SetOutput(vtkDataObject* d);
55 
57 
58  virtual int ProcessRequest(vtkInformation*,
62 
63  // this method is not recommended for use, but lots of old style filters use it
64  vtkDataObject* GetInput();
65  vtkDataObject* GetInput(int port);
66  vtkLabelHierarchy* GetLabelHierarchyInput(int port);
67 
69 
72  void SetInputData( vtkDataObject* );
73  void SetInputData( int, vtkDataObject* );
75 
77 
80  void AddInputData( vtkDataObject* );
81  void AddInputData( int, vtkDataObject* );
83 
84 protected:
87 
89 
91  virtual int RequestDataObject(
92  vtkInformation* request,
93  vtkInformationVector** inputVector,
94  vtkInformationVector* outputVector );
96 
97  // convenience method
98  virtual int RequestInformation(
99  vtkInformation* request,
100  vtkInformationVector** inputVector,
101  vtkInformationVector* outputVector );
102 
104 
106  virtual int RequestData(
107  vtkInformation* request,
108  vtkInformationVector** inputVector,
109  vtkInformationVector* outputVector );
111 
113 
115  virtual int RequestUpdateExtent(
120 
121  // see algorithm for more info
122  virtual int FillOutputPortInformation( int port, vtkInformation* info );
123  virtual int FillInputPortInformation( int port, vtkInformation* info );
124 
125 private:
126  vtkLabelHierarchyAlgorithm( const vtkLabelHierarchyAlgorithm& ); // Not implemented.
127  void operator = ( const vtkLabelHierarchyAlgorithm& ); // Not implemented.
128 };
129 
130 #endif
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
virtual int FillOutputPortInformation(int port, vtkInformation *info)
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKRENDERINGLABEL_EXPORT
virtual int FillInputPortInformation(int port, vtkInformation *info)
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
void PrintSelf(ostream &os, vtkIndent indent)