00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkDataSetToDataSetFilter.h,v $ 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 =========================================================================*/ 00040 #ifndef __vtkDataSetToDataSetFilter_h 00041 #define __vtkDataSetToDataSetFilter_h 00042 00043 #include "vtkDataSetSource.h" 00044 00045 class vtkDataSet; 00046 class vtkPolyData; 00047 class vtkRectilinearGrid; 00048 class vtkStructuredGrid; 00049 class vtkStructuredPoints; 00050 class vtkUnstructuredGrid; 00051 00052 class VTK_FILTERING_EXPORT vtkDataSetToDataSetFilter : public vtkDataSetSource 00053 { 00054 00055 public: 00056 vtkTypeRevisionMacro(vtkDataSetToDataSetFilter,vtkDataSetSource); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00058 00060 void SetInput(vtkDataSet *input); 00061 00063 00065 vtkDataSet *GetOutput(); 00066 vtkDataSet *GetOutput(int idx); 00068 00070 virtual vtkPolyData *GetPolyDataOutput(); 00071 00073 virtual vtkStructuredPoints *GetStructuredPointsOutput(); 00074 00076 virtual vtkStructuredGrid *GetStructuredGridOutput(); 00077 00079 virtual vtkUnstructuredGrid *GetUnstructuredGridOutput(); 00080 00082 virtual vtkRectilinearGrid *GetRectilinearGridOutput(); 00083 00085 vtkDataSet *GetInput(); 00086 00088 virtual void ComputeInputUpdateExtents( vtkDataObject *output ); 00089 00091 00095 virtual int ProcessRequest(vtkInformation*, 00096 vtkInformationVector**, 00097 vtkInformationVector*); 00099 00100 protected: 00101 vtkDataSetToDataSetFilter(); 00102 ~vtkDataSetToDataSetFilter(); 00103 00104 void ExecuteInformation(); 00105 00106 virtual int FillInputPortInformation(int, vtkInformation*); 00107 00108 // This is called by the superclass. 00109 // This is the method you should override. 00110 virtual int RequestDataObject(vtkInformation* request, 00111 vtkInformationVector** inputVector, 00112 vtkInformationVector* outputVector); 00113 00114 private: 00115 vtkDataSetToDataSetFilter(const vtkDataSetToDataSetFilter&); // Not implemented. 00116 void operator=(const vtkDataSetToDataSetFilter&); // Not implemented. 00117 }; 00118 00119 #endif 00120 00121 00122