VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkStructuredGridPartitioner.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 VTKSTRUCTUREDGRIDPARTITIONER_H_ 00031 #define VTKSTRUCTUREDGRIDPARTITIONER_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 vtkStructuredGrid; 00040 class vtkPoints; 00041 00042 class VTKFILTERSGEOMETRY_EXPORT vtkStructuredGridPartitioner : 00043 public vtkMultiBlockDataSetAlgorithm 00044 { 00045 public: 00046 static vtkStructuredGridPartitioner *New(); 00047 vtkTypeMacro(vtkStructuredGridPartitioner, 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 00064 vtkGetMacro(DuplicateNodes,int); 00065 vtkSetMacro(DuplicateNodes,int); 00066 vtkBooleanMacro(DuplicateNodes,int); 00068 00069 protected: 00070 vtkStructuredGridPartitioner(); 00071 virtual ~vtkStructuredGridPartitioner(); 00072 00074 vtkPoints* ExtractSubGridPoints(vtkStructuredGrid *wholeGrid,int subext[6]); 00075 00076 // Standard Pipeline methods 00077 virtual int RequestData( 00078 vtkInformation*,vtkInformationVector**,vtkInformationVector*); 00079 virtual int FillInputPortInformation(int port, vtkInformation *info); 00080 virtual int FillOutputPortInformation(int port, vtkInformation *info); 00081 00082 int NumberOfPartitions; 00083 int NumberOfGhostLayers; 00084 int DuplicateNodes; 00085 00086 private: 00087 vtkStructuredGridPartitioner(const vtkStructuredGridPartitioner &); // Not implemented 00088 void operator=(const vtkStructuredGridPartitioner &); // Not implemented 00089 }; 00090 00091 #endif /* VTKSTRUCTUREDGRIDPARTITIONER_H_ */