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 =========================================================================*/ 00031 #ifndef __vtkPointSetAlgorithm_h 00032 #define __vtkPointSetAlgorithm_h 00033 00034 #include "vtkCommonExecutionModelModule.h" // For export macro 00035 #include "vtkAlgorithm.h" 00036 00037 class vtkPointSet; 00038 class vtkPolyData; 00039 class vtkStructuredGrid; 00040 class vtkUnstructuredGrid; 00041 00042 class VTKCOMMONEXECUTIONMODEL_EXPORT vtkPointSetAlgorithm : public vtkAlgorithm 00043 { 00044 public: 00045 static vtkPointSetAlgorithm *New(); 00046 vtkTypeMacro(vtkPointSetAlgorithm,vtkAlgorithm); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 00051 vtkPointSet* GetOutput(); 00052 vtkPointSet* GetOutput(int); 00054 00056 vtkPolyData *GetPolyDataOutput(); 00057 00059 vtkStructuredGrid *GetStructuredGridOutput(); 00060 00062 vtkUnstructuredGrid *GetUnstructuredGridOutput(); 00063 00065 00068 void SetInputData(vtkDataObject*); 00069 void SetInputData(int, vtkDataObject*); 00070 void SetInputData(vtkPointSet*); 00071 void SetInputData(int, vtkPointSet*); 00073 00075 00078 void AddInputData(vtkDataObject *); 00079 void AddInputData(vtkPointSet*); 00080 void AddInputData(int, vtkPointSet*); 00081 void AddInputData(int, vtkDataObject*); 00083 00084 // this method is not recommended for use, but lots of old style filters 00085 // use it 00086 vtkDataObject *GetInput(); 00087 00089 00090 virtual int ProcessRequest(vtkInformation* request, 00091 vtkInformationVector** inputVector, 00092 vtkInformationVector* outputVector); 00094 00095 protected: 00096 vtkPointSetAlgorithm(); 00097 ~vtkPointSetAlgorithm() {} 00098 00100 00102 virtual int RequestDataObject(vtkInformation* request, 00103 vtkInformationVector** inputVector, 00104 vtkInformationVector* outputVector); 00106 00108 00110 virtual int ExecuteInformation(vtkInformation*, 00111 vtkInformationVector**, 00112 vtkInformationVector*) {return 1;}; 00114 00116 00118 virtual int RequestData(vtkInformation*, 00119 vtkInformationVector**, 00120 vtkInformationVector*) {return 1;}; 00122 00124 00126 virtual int ComputeInputUpdateExtent(vtkInformation*, 00127 vtkInformationVector**, 00128 vtkInformationVector*) 00129 { 00130 return 1; 00131 }; 00133 00134 // see algorithm for more info 00135 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00136 virtual int FillInputPortInformation(int port, vtkInformation* info); 00137 00138 private: 00139 vtkPointSetAlgorithm(const vtkPointSetAlgorithm&); // Not implemented. 00140 void operator=(const vtkPointSetAlgorithm&); // Not implemented. 00141 }; 00142 00143 #endif