VTK
dox/Filters/Geometry/vtkRectilinearGridPartitioner.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003  Program:   Visualization Toolkit
00004  Module:    vtkRectilinearGridPartitioner.h
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  =========================================================================*/
00030 #ifndef VTKRECTILINEARGRIDPARTITIONER_H_
00031 #define VTKRECTILINEARGRIDPARTITIONER_H_
00032 
00033 #include "vtkFiltersGeometryModule.h" // For export macro
00034 #include "vtkMultiBlockDataSetAlgorithm.h"
00035 
00036 class vtkInformation;
00037 class vtkInformationVector;
00038 class vtkIndent;
00039 class vtkDoubleArray;
00040 class vtkRectilinearGrid;
00041 
00042 class VTKFILTERSGEOMETRY_EXPORT vtkRectilinearGridPartitioner :
00043   public vtkMultiBlockDataSetAlgorithm
00044 {
00045 public:
00046   static vtkRectilinearGridPartitioner *New();
00047   vtkTypeMacro(vtkRectilinearGridPartitioner, vtkMultiBlockDataSetAlgorithm);
00048   void PrintSelf(ostream &oss, vtkIndent indent);
00049 
00051 
00052   vtkGetMacro(NumberOfPartitions,int);
00053   vtkSetMacro(NumberOfPartitions,int);
00055 
00057 
00058   vtkGetMacro(NumberOfGhostLayers,int);
00059   vtkSetMacro(NumberOfGhostLayers,int);
00061 
00062 protected:
00063   vtkRectilinearGridPartitioner();
00064   virtual ~vtkRectilinearGridPartitioner();
00065 
00067 
00068   void ExtractGridCoordinates(
00069       vtkRectilinearGrid *grd, int subext[6],
00070       vtkDoubleArray *xcoords,
00071       vtkDoubleArray *ycoords,
00072       vtkDoubleArray *zcoords );
00074 
00075   // Standard Pipeline methods
00076   virtual int RequestData(
00077      vtkInformation*,vtkInformationVector**,vtkInformationVector*);
00078   virtual int FillInputPortInformation(int port, vtkInformation *info);
00079   virtual int FillOutputPortInformation(int port, vtkInformation *info);
00080 
00081   int NumberOfPartitions;
00082   int NumberOfGhostLayers;
00083 
00084 private:
00085   vtkRectilinearGridPartitioner(const vtkRectilinearGridPartitioner &); // Not implemented
00086   void operator=(const vtkRectilinearGridPartitioner &); // Not implemented
00087 };
00088 
00089 #endif /* VTKRECTILINEARGRIDPARTITIONER_H_ */