00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkSelectInputs_h
00025 #define __vtkSelectInputs_h
00026
00027 #include "vtkSource.h"
00028
00029 class vtkDataSet;
00030 class vtkIntArray;
00031
00032 class VTK_EXPORT vtkSelectInputs : public vtkSource
00033 {
00034 public:
00035 static vtkSelectInputs *New();
00036
00037 vtkTypeRevisionMacro(vtkSelectInputs,vtkSource);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00041 void AddInput(vtkDataSet *in);
00042
00044
00045 vtkDataSet *GetInput(int idx);
00046 vtkDataSet *GetInput()
00047 {return this->GetInput( 0 );}
00049
00051
00052 virtual int GetNumberOfOutputs();
00053 vtkDataSet *GetOutput(int idx);
00054 vtkDataSet *GetOutput()
00055 {return this->GetInput( 0 );}
00057
00059
00061 void SetInputMask(int idx, int flag);
00062 int GetInputMask(int idx);
00064
00066 virtual void ComputeInputUpdateExtents( vtkDataObject *output );
00067
00068 protected:
00069 vtkSelectInputs();
00070 ~vtkSelectInputs();
00071
00072
00073 virtual void Execute();
00074 virtual void ExecuteInformation();
00075
00076 vtkIntArray *InputMask;
00077
00078 private:
00079
00080
00081 void AddInput(vtkDataObject *)
00082 { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
00083 void RemoveInput(vtkDataObject *input)
00084 { this->vtkProcessObject::RemoveInput(input); };
00085 private:
00086 vtkSelectInputs(const vtkSelectInputs&);
00087 void operator=(const vtkSelectInputs&);
00088 };
00089
00090
00091 #endif
00092
00093