VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTransmitRectilinearGridPiece.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 =========================================================================*/ 00028 #ifndef __vtkTransmitRectilinearGridPiece_h 00029 #define __vtkTransmitRectilinearGridPiece_h 00030 00031 #include "vtkFiltersParallelModule.h" // For export macro 00032 #include "vtkRectilinearGridAlgorithm.h" 00033 00034 class vtkMultiProcessController; 00035 00036 class VTKFILTERSPARALLEL_EXPORT vtkTransmitRectilinearGridPiece : public vtkRectilinearGridAlgorithm 00037 { 00038 public: 00039 static vtkTransmitRectilinearGridPiece *New(); 00040 vtkTypeMacro(vtkTransmitRectilinearGridPiece, vtkRectilinearGridAlgorithm); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 00046 virtual void SetController(vtkMultiProcessController*); 00047 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00049 00051 00052 vtkSetMacro(CreateGhostCells, int); 00053 vtkGetMacro(CreateGhostCells, int); 00054 vtkBooleanMacro(CreateGhostCells, int); 00056 00057 protected: 00058 vtkTransmitRectilinearGridPiece(); 00059 ~vtkTransmitRectilinearGridPiece(); 00060 00061 // Data generation method 00062 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00063 void RootExecute(vtkRectilinearGrid *input, vtkRectilinearGrid *output, 00064 vtkInformation *outInfo); 00065 void SatelliteExecute(int procId, vtkRectilinearGrid *output, 00066 vtkInformation *outInfo); 00067 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00068 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00069 00070 int CreateGhostCells; 00071 vtkMultiProcessController *Controller; 00072 00073 private: 00074 vtkTransmitRectilinearGridPiece(const vtkTransmitRectilinearGridPiece&); // Not implemented 00075 void operator=(const vtkTransmitRectilinearGridPiece&); // Not implemented 00076 }; 00077 00078 #endif