00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkLabelHierarchyAlgorithm_h
00034 #define __vtkLabelHierarchyAlgorithm_h
00035
00036 #include "vtkAlgorithm.h"
00037
00038 class vtkDataSet;
00039 class vtkLabelHierarchy;
00040
00041 class VTK_RENDERING_EXPORT vtkLabelHierarchyAlgorithm : public vtkAlgorithm
00042 {
00043 public:
00044 static vtkLabelHierarchyAlgorithm *New();
00045 vtkTypeMacro(vtkLabelHierarchyAlgorithm,vtkAlgorithm);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047
00049
00050 vtkLabelHierarchy* GetOutput();
00051 vtkLabelHierarchy* GetOutput(int);
00052 virtual void SetOutput(vtkDataObject* d);
00054
00056
00057 virtual int ProcessRequest(vtkInformation*,
00058 vtkInformationVector**,
00059 vtkInformationVector*);
00061
00062
00063 vtkDataObject* GetInput();
00064 vtkDataObject* GetInput(int port);
00065 vtkLabelHierarchy* GetLabelHierarchyInput(int port);
00066
00068
00075 void SetInput( vtkDataObject* );
00076 void SetInput( int, vtkDataObject* );
00078
00080
00084 void AddInput( vtkDataObject* );
00085 void AddInput( int, vtkDataObject* );
00087
00088 protected:
00089 vtkLabelHierarchyAlgorithm();
00090 ~vtkLabelHierarchyAlgorithm();
00091
00093
00095 virtual int RequestDataObject(
00096 vtkInformation* request,
00097 vtkInformationVector** inputVector,
00098 vtkInformationVector* outputVector );
00100
00101
00102 virtual int RequestInformation(
00103 vtkInformation* request,
00104 vtkInformationVector** inputVector,
00105 vtkInformationVector* outputVector );
00106
00108
00110 virtual int RequestData(
00111 vtkInformation* request,
00112 vtkInformationVector** inputVector,
00113 vtkInformationVector* outputVector );
00115
00117
00119 virtual int RequestUpdateExtent(
00120 vtkInformation*,
00121 vtkInformationVector**,
00122 vtkInformationVector* );
00124
00125
00126 virtual int FillOutputPortInformation( int port, vtkInformation* info );
00127 virtual int FillInputPortInformation( int port, vtkInformation* info );
00128
00129 private:
00130 vtkLabelHierarchyAlgorithm( const vtkLabelHierarchyAlgorithm& );
00131 void operator = ( const vtkLabelHierarchyAlgorithm& );
00132 };
00133
00134 #endif