00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkAppendPolyData_h
00034 #define __vtkAppendPolyData_h
00035
00036 #include "vtkPolyDataAlgorithm.h"
00037
00038 class vtkCellArray;
00039 class vtkDataArray;
00040 class vtkPoints;
00041 class vtkPolyData;
00042
00043 class VTK_GRAPHICS_EXPORT vtkAppendPolyData : public vtkPolyDataAlgorithm
00044 {
00045 public:
00046 static vtkAppendPolyData *New();
00047
00048 vtkTypeRevisionMacro(vtkAppendPolyData,vtkPolyDataAlgorithm);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00052
00056 vtkSetMacro(UserManagedInputs,int);
00057 vtkGetMacro(UserManagedInputs,int);
00058 vtkBooleanMacro(UserManagedInputs,int);
00060
00063 void AddInput(vtkPolyData *);
00064
00067 void RemoveInput(vtkPolyData *);
00068
00070
00071 vtkPolyData *GetInput(int idx);
00072 vtkPolyData *GetInput() { return this->GetInput( 0 ); };
00074
00075
00078 void SetNumberOfInputs(int num);
00079
00080
00081 void SetInputByNumber(int num, vtkPolyData *input);
00082
00084
00091 vtkSetMacro(ParallelStreaming, int);
00092 vtkGetMacro(ParallelStreaming, int);
00093 vtkBooleanMacro(ParallelStreaming, int);
00095
00096 protected:
00097 vtkAppendPolyData();
00098 ~vtkAppendPolyData();
00099
00100
00101 int ParallelStreaming;
00102
00103
00104 virtual int RequestData(vtkInformation *,
00105 vtkInformationVector **, vtkInformationVector *);
00106 virtual int RequestUpdateExtent(vtkInformation *,
00107 vtkInformationVector **, vtkInformationVector *);
00108 virtual int FillInputPortInformation(int, vtkInformation *);
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
00122 int UserManagedInputs;
00123
00124 private:
00125 vtkAppendPolyData(const vtkAppendPolyData&);
00126 void operator=(const vtkAppendPolyData&);
00127 };
00128
00129 #endif
00130
00131