VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/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 
00063   vtkGetMacro(DuplicateNodes,int);
00064   vtkSetMacro(DuplicateNodes,int);
00065   vtkBooleanMacro(DuplicateNodes,int);
00067 
00068 protected:
00069   vtkRectilinearGridPartitioner();
00070   virtual ~vtkRectilinearGridPartitioner();
00071 
00073 
00074   void ExtractGridCoordinates(
00075       vtkRectilinearGrid *grd, int subext[6],
00076       vtkDoubleArray *xcoords,
00077       vtkDoubleArray *ycoords,
00078       vtkDoubleArray *zcoords );
00080 
00081   // Standard Pipeline methods
00082   virtual int RequestData(
00083      vtkInformation*,vtkInformationVector**,vtkInformationVector*);
00084   virtual int FillInputPortInformation(int port, vtkInformation *info);
00085   virtual int FillOutputPortInformation(int port, vtkInformation *info);
00086 
00087   int NumberOfPartitions;
00088   int NumberOfGhostLayers;
00089   int DuplicateNodes;
00090 
00091 private:
00092   vtkRectilinearGridPartitioner(const vtkRectilinearGridPartitioner &); // Not implemented
00093   void operator=(const vtkRectilinearGridPartitioner &); // Not implemented
00094 };
00095 
00096 #endif /* VTKRECTILINEARGRIDPARTITIONER_H_ */