VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeDataSetAlgorithm.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 =========================================================================*/ 00023 #ifndef __vtkCompositeDataSetAlgorithm_h 00024 #define __vtkCompositeDataSetAlgorithm_h 00025 00026 #include "vtkAlgorithm.h" 00027 00028 class vtkCompositeDataSet; 00029 00030 class VTK_FILTERING_EXPORT vtkCompositeDataSetAlgorithm : public vtkAlgorithm 00031 { 00032 public: 00033 static vtkCompositeDataSetAlgorithm *New(); 00034 vtkTypeMacro(vtkCompositeDataSetAlgorithm,vtkAlgorithm); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00038 00039 vtkCompositeDataSet* GetOutput(); 00040 vtkCompositeDataSet* GetOutput(int); 00042 00044 00051 void SetInput(vtkDataObject*); 00052 void SetInput(int, vtkDataObject*); 00054 00056 00057 virtual int ProcessRequest(vtkInformation* request, 00058 vtkInformationVector** inputVector, 00059 vtkInformationVector* outputVector); 00061 00062 protected: 00063 vtkCompositeDataSetAlgorithm(); 00064 ~vtkCompositeDataSetAlgorithm() {}; 00065 00067 00069 virtual int RequestDataObject(vtkInformation*, 00070 vtkInformationVector**, 00071 vtkInformationVector*) {return 1;}; 00073 00075 00077 virtual int RequestInformation(vtkInformation*, 00078 vtkInformationVector**, 00079 vtkInformationVector*) {return 1;}; 00081 00083 00085 virtual int RequestData(vtkInformation*, 00086 vtkInformationVector**, 00087 vtkInformationVector*) {return 1;}; 00089 00091 00093 virtual int RequestUpdateExtent(vtkInformation*, 00094 vtkInformationVector**, 00095 vtkInformationVector*) 00096 { 00097 return 1; 00098 }; 00100 00101 // Create a default executive. 00102 virtual vtkExecutive* CreateDefaultExecutive(); 00103 00104 // see algorithm for more info 00105 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00106 virtual int FillInputPortInformation(int port, vtkInformation* info); 00107 00108 vtkDataObject *GetInput(int port); 00109 00110 private: 00111 vtkCompositeDataSetAlgorithm(const vtkCompositeDataSetAlgorithm&); // Not implemented. 00112 void operator=(const vtkCompositeDataSetAlgorithm&); // Not implemented. 00113 }; 00114 00115 #endif 00116 00117