00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00040 #ifndef __vtkSelectionAlgorithm_h
00041 #define __vtkSelectionAlgorithm_h
00042
00043 #include "vtkAlgorithm.h"
00044 #include "vtkSelection.h"
00045
00046 class vtkDataSet;
00047
00048 class VTK_FILTERING_EXPORT vtkSelectionAlgorithm : public vtkAlgorithm
00049 {
00050 public:
00051 static vtkSelectionAlgorithm *New();
00052 vtkTypeRevisionMacro(vtkSelectionAlgorithm,vtkAlgorithm);
00053 void PrintSelf(ostream& os, vtkIndent indent);
00054
00056
00057 virtual int ProcessRequest(vtkInformation*,
00058 vtkInformationVector**,
00059 vtkInformationVector*);
00061
00063
00064 vtkSelection* GetOutput() { return this->GetOutput(0); }
00065 vtkSelection* GetOutput(int index);
00067
00069
00076 void SetInput(vtkDataObject * obj) { this->SetInput(0, obj); }
00077 void SetInput(int index, vtkDataObject* obj);
00079
00080 protected:
00081 vtkSelectionAlgorithm();
00082 ~vtkSelectionAlgorithm();
00083
00084
00085 virtual int RequestInformation(vtkInformation* request,
00086 vtkInformationVector** inputVector,
00087 vtkInformationVector* outputVector);
00088
00090
00092 virtual int RequestData(vtkInformation* request,
00093 vtkInformationVector** inputVector,
00094 vtkInformationVector* outputVector);
00096
00098
00100 virtual int RequestUpdateExtent(vtkInformation*,
00101 vtkInformationVector**,
00102 vtkInformationVector*);
00104
00105
00106 virtual int FillOutputPortInformation(int port, vtkInformation* info);
00107 virtual int FillInputPortInformation(int port, vtkInformation* info);
00108
00109 private:
00110 vtkSelectionAlgorithm(const vtkSelectionAlgorithm&);
00111 void operator=(const vtkSelectionAlgorithm&);
00112 };
00113
00114 #endif