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