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

Servers/Common/vtkPVMPIProcessModule.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVMPIProcessModule.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
00028 #ifndef __vtkPVMPIProcessModule_h
00029 #define __vtkPVMPIProcessModule_h
00030 
00031 #include "vtkPVProcessModule.h"
00032 class vtkPVPart;
00033 class vtkMultiProcessController;
00034 class vtkMapper;
00035 class vtkDataSet;
00036 
00037 class VTK_EXPORT vtkPVMPIProcessModule : public vtkPVProcessModule
00038 {
00039 public:
00040   static vtkPVMPIProcessModule* New();
00041   vtkTypeRevisionMacro(vtkPVMPIProcessModule,vtkPVProcessModule);
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043 
00044   // ParaView.cxx (main) calls this method to setup the processes.
00045   virtual int Start(int argc, char **argv);
00046   void Initialize();
00047   
00049   virtual void Exit();
00050 
00052 
00053   virtual void GatherInformationInternal(const char* infoClassName,
00054                                          vtkObject* object);
00056     
00058   virtual int GetPartitionId();
00059 
00061   virtual int GetNumberOfPartitions();
00062 
00064   virtual int LoadModuleInternal(const char* name, const char* directory);
00065 protected:
00066   vtkPVMPIProcessModule();
00067   ~vtkPVMPIProcessModule();
00068 
00070 
00073   virtual vtkTypeUInt32 CreateSendFlag(vtkTypeUInt32 servers);
00074   // send a stream to the client
00075   virtual int SendStreamToClient(vtkClientServerStream&);
00076   // send a stream to the data server
00077   virtual int SendStreamToDataServer(vtkClientServerStream&);
00078   // send a stream to the data server root mpi process
00079   virtual int SendStreamToDataServerRoot(vtkClientServerStream&);
00080   // send a stream to the render server
00081   virtual int SendStreamToRenderServer(vtkClientServerStream&);
00082   // send a stream to the render server root mpi process
00083   virtual int SendStreamToRenderServerRoot(vtkClientServerStream&);
00085 
00086   // send a stream to a node of the mpi group
00087   virtual void SendStreamToServerNodeInternal(
00088     int remoteId, vtkClientServerStream& stream);
00089 
00090   // To pass arguments through controller single method.
00091   int    ArgumentCount;
00092   char** Arguments;
00093   int    ReturnValue;
00094 
00095 private:  
00096   vtkPVMPIProcessModule(const vtkPVMPIProcessModule&); // Not implemented
00097   void operator=(const vtkPVMPIProcessModule&); // Not implemented
00098 };
00099 
00100 #endif

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