00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkMergeArrays_h
00026 #define __vtkMergeArrays_h
00027
00028 #include "vtkSource.h"
00029
00030 class vtkDataSet;
00031
00032 class VTK_EXPORT vtkMergeArrays : public vtkSource
00033 {
00034 public:
00035 static vtkMergeArrays *New();
00036
00037 vtkTypeRevisionMacro(vtkMergeArrays,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() { return 1;}
00053 vtkDataSet *GetOutput();
00054 vtkDataSet *GetOutput(int idx);
00056
00058 virtual void ComputeInputUpdateExtents( vtkDataObject *output );
00059
00060 protected:
00061 vtkMergeArrays();
00062 ~vtkMergeArrays();
00063
00064
00065 virtual void Execute();
00066 virtual void ExecuteInformation();
00067
00068
00069 private:
00070
00071
00072 void AddInput(vtkDataObject *)
00073 { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
00074 void RemoveInput(vtkDataObject *input)
00075 { this->vtkProcessObject::RemoveInput(input); };
00076 private:
00077 vtkMergeArrays(const vtkMergeArrays&);
00078 void operator=(const vtkMergeArrays&);
00079 };
00080
00081
00082 #endif
00083
00084