VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAnnotationLayersAlgorithm.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00032 #ifndef __vtkAnnotationLayersAlgorithm_h 00033 #define __vtkAnnotationLayersAlgorithm_h 00034 00035 #include "vtkCommonExecutionModelModule.h" // For export macro 00036 #include "vtkAlgorithm.h" 00037 #include "vtkAnnotationLayers.h" // makes things a bit easier 00038 00039 class vtkDataSet; 00040 00041 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkAnnotationLayersAlgorithm : public vtkAlgorithm 00042 { 00043 public: 00044 static vtkAnnotationLayersAlgorithm *New(); 00045 vtkTypeMacro(vtkAnnotationLayersAlgorithm,vtkAlgorithm); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 00050 virtual int ProcessRequest(vtkInformation*, 00051 vtkInformationVector**, 00052 vtkInformationVector*); 00054 00056 00057 vtkAnnotationLayers* GetOutput() { return this->GetOutput(0); } 00058 vtkAnnotationLayers* GetOutput(int index); 00060 00062 00065 void SetInputData(vtkDataObject * obj) { this->SetInputData(0, obj); } 00066 void SetInputData(int index, vtkDataObject* obj); 00068 00069 protected: 00070 vtkAnnotationLayersAlgorithm(); 00071 ~vtkAnnotationLayersAlgorithm(); 00072 00073 // convenience method 00074 virtual int RequestInformation(vtkInformation* request, 00075 vtkInformationVector** inputVector, 00076 vtkInformationVector* outputVector); 00077 00079 00081 virtual int RequestData(vtkInformation* request, 00082 vtkInformationVector** inputVector, 00083 vtkInformationVector* outputVector); 00085 00087 00089 virtual int RequestUpdateExtent(vtkInformation*, 00090 vtkInformationVector**, 00091 vtkInformationVector*); 00093 00094 // see algorithm for more info 00095 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00096 virtual int FillInputPortInformation(int port, vtkInformation* info); 00097 00098 private: 00099 vtkAnnotationLayersAlgorithm(const vtkAnnotationLayersAlgorithm&); // Not implemented. 00100 void operator=(const vtkAnnotationLayersAlgorithm&); // Not implemented. 00101 }; 00102 00103 #endif