Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkExtractPolyDataPiece.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkExtractPolyDataPiece.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00034 #ifndef __vtkExtractPolyDataPiece_h
00035 #define __vtkExtractPolyDataPiece_h
00036 
00037 #include "vtkPolyDataToPolyDataFilter.h"
00038 
00039 class vtkIdList;
00040 class vtkIntArray;
00041 
00042 class VTK_PARALLEL_EXPORT vtkExtractPolyDataPiece : public vtkPolyDataToPolyDataFilter
00043 {
00044 public:
00045   static vtkExtractPolyDataPiece *New();
00046   vtkTypeRevisionMacro(vtkExtractPolyDataPiece, vtkPolyDataToPolyDataFilter);
00047   void PrintSelf(ostream& os, vtkIndent indent);
00048   
00050 
00051   vtkSetMacro(CreateGhostCells, int);
00052   vtkGetMacro(CreateGhostCells, int);
00053   vtkBooleanMacro(CreateGhostCells, int);
00055   
00056 protected:
00057   vtkExtractPolyDataPiece();
00058   ~vtkExtractPolyDataPiece() {};
00059 
00060   // Usual data generation method
00061   void Execute();
00062   void ExecuteInformation();
00063   void ComputeInputUpdateExtents(vtkDataObject *out);
00064  
00065   // A method for labeling which piece the cells belong to.
00066   void ComputeCellTags(vtkIntArray *cellTags, vtkIdList *pointOwnership,
00067                        int piece, int numPieces);
00068   
00069   void AddGhostLevel(vtkPolyData *input, vtkIntArray *cellTags, int ghostLevel);
00070   
00071   int CreateGhostCells;
00072 private:
00073   vtkExtractPolyDataPiece(const vtkExtractPolyDataPiece&);  // Not implemented.
00074   void operator=(const vtkExtractPolyDataPiece&);  // Not implemented.
00075 };
00076 
00077 #endif