VTK
|
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_ */