Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Servers/Filters/vtkMPIDuplicatePolyData.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMPIDuplicatePolyData.h,v $
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 =========================================================================*/
00015 
00026 #ifndef __vtkMPIDuplicatePolyData_h
00027 #define __vtkMPIDuplicatePolyData_h
00028 
00029 #include "vtkPolyDataToPolyDataFilter.h"
00030 class vtkSocketController;
00031 class vtkMultiProcessController;
00032 class vtkPolyDataWriter;
00033 class vtkPolyDataReader;
00034 
00035 
00036 class VTK_EXPORT vtkMPIDuplicatePolyData : public vtkPolyDataToPolyDataFilter
00037 {
00038 public:
00039   static vtkMPIDuplicatePolyData *New();
00040   vtkTypeRevisionMacro(vtkMPIDuplicatePolyData, vtkPolyDataToPolyDataFilter);
00041   void PrintSelf(ostream& os, vtkIndent indent);
00042   
00044 
00046   virtual void SetController(vtkMultiProcessController*);
00047   vtkGetObjectMacro(Controller, vtkMultiProcessController);
00049 
00051 
00055   vtkSocketController *GetSocketController() {return this->SocketController;}
00056   void SetSocketController (vtkSocketController *controller);
00057   vtkSetMacro(ClientFlag,int);
00058   vtkGetMacro(ClientFlag,int);
00060 
00062 
00065   vtkSetMacro(PassThrough,int);
00066   vtkGetMacro(PassThrough,int);
00067   vtkBooleanMacro(PassThrough,int);
00069 
00071 
00073   vtkSetMacro(ZeroEmpty,int);
00074   vtkGetMacro(ZeroEmpty,int);
00075   vtkBooleanMacro(ZeroEmpty,int);
00077 
00083 protected:
00084   vtkMPIDuplicatePolyData();
00085   ~vtkMPIDuplicatePolyData();
00086 
00087   // Data generation method
00088   void ComputeInputUpdateExtents(vtkDataObject *output);
00089   void Execute();
00090   void ServerExecute(vtkPolyDataReader* reader, 
00091                      vtkPolyDataWriter* writer);
00092   void ClientExecute(vtkPolyDataReader* reader);
00093   void ReconstructOutput(vtkPolyDataReader* reader, int numProcs,
00094                          char* recv, int* recvLengths, int* recvOffsets);
00095   void ExecuteInformation();
00096 
00097   vtkMultiProcessController *Controller;
00098 
00099   // For client server mode.
00100   vtkSocketController *SocketController;
00101   int ClientFlag;
00102 
00103   //unsigned long MemorySize;
00104   int PassThrough;
00105   int ZeroEmpty;
00106 
00107 
00108 private:
00109   vtkMPIDuplicatePolyData(const vtkMPIDuplicatePolyData&); // Not implemented
00110   void operator=(const vtkMPIDuplicatePolyData&); // Not implemented
00111 };
00112 
00113 #endif
00114 

Generated on Tue May 30 12:31:46 2006 for ParaView by doxygen 1.3.5