VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTransmitPolyDataPiece.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 __vtkTransmitPolyDataPiece_h 00025 #define __vtkTransmitPolyDataPiece_h 00026 00027 #include "vtkFiltersParallelModule.h" // For export macro 00028 #include "vtkPolyDataAlgorithm.h" 00029 00030 class vtkMultiProcessController; 00031 00032 class VTKFILTERSPARALLEL_EXPORT vtkTransmitPolyDataPiece : public vtkPolyDataAlgorithm 00033 { 00034 public: 00035 static vtkTransmitPolyDataPiece *New(); 00036 vtkTypeMacro(vtkTransmitPolyDataPiece, vtkPolyDataAlgorithm); 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 vtkTransmitPolyDataPiece(); 00055 ~vtkTransmitPolyDataPiece(); 00056 00057 // Data generation method 00058 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00059 void RootExecute(vtkPolyData *input, vtkPolyData *output, vtkInformation *outInfo); 00060 void SatelliteExecute(int procId, vtkPolyData *output, vtkInformation *outInfo); 00061 int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00062 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00063 00064 int CreateGhostCells; 00065 vtkMultiProcessController *Controller; 00066 00067 private: 00068 vtkTransmitPolyDataPiece(const vtkTransmitPolyDataPiece&); // Not implemented 00069 void operator=(const vtkTransmitPolyDataPiece&); // Not implemented 00070 }; 00071 00072 #endif