VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPointSetAlgorithm.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 =========================================================================*/ 00033 #ifndef __vtkPointSetAlgorithm_h 00034 #define __vtkPointSetAlgorithm_h 00035 00036 #include "vtkAlgorithm.h" 00037 00038 class vtkPointSet; 00039 class vtkPolyData; 00040 class vtkStructuredGrid; 00041 class vtkUnstructuredGrid; 00042 00043 class VTK_FILTERING_EXPORT vtkPointSetAlgorithm : public vtkAlgorithm 00044 { 00045 public: 00046 static vtkPointSetAlgorithm *New(); 00047 vtkTypeMacro(vtkPointSetAlgorithm,vtkAlgorithm); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 00052 vtkPointSet* GetOutput(); 00053 vtkPointSet* GetOutput(int); 00055 00057 vtkPolyData *GetPolyDataOutput(); 00058 00060 vtkStructuredGrid *GetStructuredGridOutput(); 00061 00063 vtkUnstructuredGrid *GetUnstructuredGridOutput(); 00064 00066 00073 void SetInput(vtkDataObject*); 00074 void SetInput(int, vtkDataObject*); 00075 void SetInput(vtkPointSet*); 00076 void SetInput(int, vtkPointSet*); 00078 00080 00084 void AddInput(vtkDataObject *); 00085 void AddInput(vtkPointSet*); 00086 void AddInput(int, vtkPointSet*); 00087 void AddInput(int, vtkDataObject*); 00089 00090 // this method is not recommended for use, but lots of old style filters 00091 // use it 00092 vtkDataObject *GetInput(); 00093 00095 00096 virtual int ProcessRequest(vtkInformation* request, 00097 vtkInformationVector** inputVector, 00098 vtkInformationVector* outputVector); 00100 00101 protected: 00102 vtkPointSetAlgorithm(); 00103 ~vtkPointSetAlgorithm() {}; 00104 00106 00108 virtual int RequestDataObject(vtkInformation* request, 00109 vtkInformationVector** inputVector, 00110 vtkInformationVector* outputVector); 00112 00114 00116 virtual int ExecuteInformation(vtkInformation*, 00117 vtkInformationVector**, 00118 vtkInformationVector*) {return 1;}; 00120 00122 00124 virtual int RequestData(vtkInformation*, 00125 vtkInformationVector**, 00126 vtkInformationVector*) {return 1;}; 00128 00130 00132 virtual int ComputeInputUpdateExtent(vtkInformation*, 00133 vtkInformationVector**, 00134 vtkInformationVector*) 00135 { 00136 return 1; 00137 }; 00139 00140 // see algorithm for more info 00141 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00142 virtual int FillInputPortInformation(int port, vtkInformation* info); 00143 00144 private: 00145 vtkPointSetAlgorithm(const vtkPointSetAlgorithm&); // Not implemented. 00146 void operator=(const vtkPointSetAlgorithm&); // Not implemented. 00147 }; 00148 00149 #endif