Graphics/vtkAppendPolyData.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00036 #ifndef __vtkAppendPolyData_h
00037 #define __vtkAppendPolyData_h
00038
00039 #include "vtkPolyDataToPolyDataFilter.h"
00040
00041 class vtkCellArray;
00042 class vtkDataArray;
00043 class vtkPoints;
00044 class vtkPolyData;
00045
00046 class VTK_GRAPHICS_EXPORT vtkAppendPolyData : public vtkPolyDataToPolyDataFilter
00047 {
00048 public:
00049 static vtkAppendPolyData *New();
00050
00051 vtkTypeRevisionMacro(vtkAppendPolyData,vtkPolyDataToPolyDataFilter);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00053
00055
00059 vtkSetMacro(UserManagedInputs,int);
00060 vtkGetMacro(UserManagedInputs,int);
00061 vtkBooleanMacro(UserManagedInputs,int);
00063
00066 void AddInput(vtkPolyData *);
00067
00070 void RemoveInput(vtkPolyData *);
00071
00073
00074 vtkPolyData *GetInput(int idx);
00075 vtkPolyData *GetInput() { return this->GetInput( 0 ); };
00077
00080 void SetNumberOfInputs(int num);
00081
00082
00083 void SetInputByNumber(int num, vtkPolyData *input);
00084
00086
00093 vtkSetMacro(ParallelStreaming, int);
00094 vtkGetMacro(ParallelStreaming, int);
00095 vtkBooleanMacro(ParallelStreaming, int);
00097
00098 protected:
00099 vtkAppendPolyData();
00100 ~vtkAppendPolyData();
00101
00102
00103 int ParallelStreaming;
00104
00105
00106 void Execute();
00107
00108 void ComputeInputUpdateExtents(vtkDataObject *output);
00109
00110
00111 void AppendData(vtkDataArray *dest, vtkDataArray *src, vtkIdType offset);
00112 void AppendDifferentPoints(vtkDataArray *dest, vtkDataArray *src,
00113 vtkIdType offset);
00114 vtkIdType *AppendCells(vtkIdType *pDest, vtkCellArray *src,
00115 vtkIdType offset);
00116
00117 private:
00118
00119 void AddInput(vtkDataObject *)
00120 { vtkErrorMacro( << "AddInput() must be called with a vtkPolyData not a vtkDataObject."); };
00121 void RemoveInput(vtkDataObject *input)
00122 { this->vtkProcessObject::RemoveInput(input);
00123 this->vtkProcessObject::SqueezeInputArray();};
00124 int UserManagedInputs;
00125 private:
00126 vtkAppendPolyData(const vtkAppendPolyData&);
00127 void operator=(const vtkAppendPolyData&);
00128 };
00129
00130 #endif
00131
00132