VTK
dox/Parallel/vtkTransmitPolyDataPiece.h
Go to the documentation of this file.
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 "vtkPolyDataAlgorithm.h"
00028 
00029 class vtkMultiProcessController;
00030 
00031 class VTK_PARALLEL_EXPORT vtkTransmitPolyDataPiece : public vtkPolyDataAlgorithm
00032 {
00033 public:
00034   static vtkTransmitPolyDataPiece *New();
00035   vtkTypeMacro(vtkTransmitPolyDataPiece, vtkPolyDataAlgorithm);
00036   void PrintSelf(ostream& os, vtkIndent indent);
00037   
00039 
00041   virtual void SetController(vtkMultiProcessController*);
00042   vtkGetObjectMacro(Controller, vtkMultiProcessController);
00044 
00046 
00047   vtkSetMacro(CreateGhostCells, int);
00048   vtkGetMacro(CreateGhostCells, int);
00049   vtkBooleanMacro(CreateGhostCells, int);
00051   
00052 protected:
00053   vtkTransmitPolyDataPiece();
00054   ~vtkTransmitPolyDataPiece();
00055 
00056   // Data generation method
00057   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00058   void RootExecute(vtkPolyData *input, vtkPolyData *output, vtkInformation *outInfo);
00059   void SatelliteExecute(int procId, vtkPolyData *output, vtkInformation *outInfo);
00060   int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00061   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00062  
00063   int CreateGhostCells;
00064   vtkMultiProcessController *Controller;
00065 
00066 private:
00067   vtkTransmitPolyDataPiece(const vtkTransmitPolyDataPiece&); // Not implemented
00068   void operator=(const vtkTransmitPolyDataPiece&); // Not implemented
00069 };
00070 
00071 #endif