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

Servers/Filters/vtkMPIDuplicateUnstructuredGrid.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMPIDuplicateUnstructuredGrid.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 __vtkMPIDuplicateUnstructuredGrid_h
00027 #define __vtkMPIDuplicateUnstructuredGrid_h
00028 
00029 #include "vtkUnstructuredGridToUnstructuredGridFilter.h"
00030 class vtkSocketController;
00031 class vtkMultiProcessController;
00032 class vtkUnstructuredGridWriter;
00033 class vtkUnstructuredGridReader;
00034 
00035 
00036 class VTK_EXPORT vtkMPIDuplicateUnstructuredGrid : public vtkUnstructuredGridToUnstructuredGridFilter
00037 {
00038 public:
00039   static vtkMPIDuplicateUnstructuredGrid *New();
00040   vtkTypeRevisionMacro(vtkMPIDuplicateUnstructuredGrid, vtkUnstructuredGridToUnstructuredGridFilter);
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 
00066   vtkSocketController *GetRenderServerSocketController() 
00067     {return this->RenderServerSocketController;}
00068   void SetRenderServerSocketController (vtkSocketController *controller);
00069   vtkSetMacro(RenderServerFlag,int);
00070   vtkGetMacro(RenderServerFlag,int);
00072 
00074 
00077   vtkSetMacro(PassThrough,int);
00078   vtkGetMacro(PassThrough,int);
00079   vtkBooleanMacro(PassThrough,int);
00081 
00083 
00085   vtkSetMacro(ZeroEmpty,int);
00086   vtkGetMacro(ZeroEmpty,int);
00087   vtkBooleanMacro(ZeroEmpty,int);
00089 
00095 protected:
00096   vtkMPIDuplicateUnstructuredGrid();
00097   ~vtkMPIDuplicateUnstructuredGrid();
00098 
00099   // Data generation method
00100   void ComputeInputUpdateExtents(vtkDataObject *output);
00101   void Execute();
00102   void ServerExecute(vtkUnstructuredGridReader* reader, 
00103                      vtkUnstructuredGridWriter* writer);
00104   void RenderServerExecute(vtkUnstructuredGridReader* reader);
00105   void ClientExecute(vtkUnstructuredGridReader* reader);
00106   void ReconstructOutput(vtkUnstructuredGridReader* reader, int numProcs,
00107                          char* recv, int* recvLengths, int* recvOffsets);
00108   void ExecuteInformation();
00109 
00110   vtkMultiProcessController *Controller;
00111 
00112   // For client server mode.
00113   vtkSocketController *SocketController;
00114   int ClientFlag;
00115 
00116   // For render server mode.
00117   vtkSocketController *RenderServerSocketController;
00118   int RenderServerFlag;
00119 
00120   //unsigned long MemorySize;
00121   int PassThrough;
00122   int ZeroEmpty;
00123 
00124 
00125 private:
00126   vtkMPIDuplicateUnstructuredGrid(const vtkMPIDuplicateUnstructuredGrid&); // Not implemented
00127   void operator=(const vtkMPIDuplicateUnstructuredGrid&); // Not implemented
00128 };
00129 
00130 #endif
00131 

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