00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkExtractPolyDataPiece_h
00024 #define __vtkExtractPolyDataPiece_h
00025
00026 #include "vtkPolyDataAlgorithm.h"
00027
00028 class vtkIdList;
00029 class vtkIntArray;
00030
00031 class VTK_PARALLEL_EXPORT vtkExtractPolyDataPiece : public vtkPolyDataAlgorithm
00032 {
00033 public:
00034 static vtkExtractPolyDataPiece *New();
00035 vtkTypeRevisionMacro(vtkExtractPolyDataPiece, vtkPolyDataAlgorithm);
00036 void PrintSelf(ostream& os, vtkIndent indent);
00037
00039
00040 vtkSetMacro(CreateGhostCells, int);
00041 vtkGetMacro(CreateGhostCells, int);
00042 vtkBooleanMacro(CreateGhostCells, int);
00044
00045 protected:
00046 vtkExtractPolyDataPiece();
00047 ~vtkExtractPolyDataPiece() {};
00048
00049
00050 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00051 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00052 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00053
00054
00055 void ComputeCellTags(vtkIntArray *cellTags, vtkIdList *pointOwnership,
00056 int piece, int numPieces, vtkPolyData *input);
00057
00058 void AddGhostLevel(vtkPolyData *input, vtkIntArray *cellTags, int ghostLevel);
00059
00060 int CreateGhostCells;
00061 private:
00062 vtkExtractPolyDataPiece(const vtkExtractPolyDataPiece&);
00063 void operator=(const vtkExtractPolyDataPiece&);
00064 };
00065
00066 #endif