00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
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
00075 virtual int SendStreamToClient(vtkClientServerStream&);
00076
00077 virtual int SendStreamToDataServer(vtkClientServerStream&);
00078
00079 virtual int SendStreamToDataServerRoot(vtkClientServerStream&);
00080
00081 virtual int SendStreamToRenderServer(vtkClientServerStream&);
00082
00083 virtual int SendStreamToRenderServerRoot(vtkClientServerStream&);
00085
00086
00087 virtual void SendStreamToServerNodeInternal(
00088 int remoteId, vtkClientServerStream& stream);
00089
00090
00091 int ArgumentCount;
00092 char** Arguments;
00093 int ReturnValue;
00094
00095 private:
00096 vtkPVMPIProcessModule(const vtkPVMPIProcessModule&);
00097 void operator=(const vtkPVMPIProcessModule&);
00098 };
00099
00100 #endif