00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043 #ifndef __vtkSelectionAlgorithm_h
00044 #define __vtkSelectionAlgorithm_h
00045
00046 #include "vtkAlgorithm.h"
00047 #include "vtkSelection.h"
00048
00049 class vtkDataSet;
00050
00051 class VTK_FILTERING_EXPORT vtkSelectionAlgorithm : public vtkAlgorithm
00052 {
00053 public:
00054 static vtkSelectionAlgorithm *New();
00055 vtkTypeMacro(vtkSelectionAlgorithm,vtkAlgorithm);
00056 void PrintSelf(ostream& os, vtkIndent indent);
00057
00059
00060 virtual int ProcessRequest(vtkInformation*,
00061 vtkInformationVector**,
00062 vtkInformationVector*);
00064
00066
00067 vtkSelection* GetOutput() { return this->GetOutput(0); }
00068 vtkSelection* GetOutput(int index);
00070
00072
00079 void SetInput(vtkDataObject * obj) { this->SetInput(0, obj); }
00080 void SetInput(int index, vtkDataObject* obj);
00082
00083 protected:
00084 vtkSelectionAlgorithm();
00085 ~vtkSelectionAlgorithm();
00086
00087
00088 virtual int RequestInformation(vtkInformation* request,
00089 vtkInformationVector** inputVector,
00090 vtkInformationVector* outputVector);
00091
00093
00095 virtual int RequestData(vtkInformation* request,
00096 vtkInformationVector** inputVector,
00097 vtkInformationVector* outputVector);
00099
00101
00103 virtual int RequestUpdateExtent(vtkInformation*,
00104 vtkInformationVector**,
00105 vtkInformationVector*);
00107
00108
00109 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00110 virtual int FillInputPortInformation(int port, vtkInformation* info);
00111
00112 private:
00113 vtkSelectionAlgorithm(const vtkSelectionAlgorithm&);
00114 void operator=(const vtkSelectionAlgorithm&);
00115 };
00116
00117 #endif