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