VTK
|
00001 // -*- c++ -*- 00002 /*========================================================================= 00003 00004 Program: Visualization Toolkit 00005 Module: vtkSubCommunicator.h 00006 00007 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00016 /*---------------------------------------------------------------------------- 00017 Copyright (c) Sandia Corporation 00018 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00019 ----------------------------------------------------------------------------*/ 00020 00045 #ifndef __vtkSubCommunicator_h 00046 #define __vtkSubCommunicator_h 00047 00048 #include "vtkParallelCoreModule.h" // For export macro 00049 #include "vtkCommunicator.h" 00050 00051 class vtkProcessGroup; 00052 00053 class VTKPARALLELCORE_EXPORT vtkSubCommunicator : public vtkCommunicator 00054 { 00055 public: 00056 vtkTypeMacro(vtkSubCommunicator, vtkCommunicator); 00057 static vtkSubCommunicator *New(); 00058 virtual void PrintSelf(ostream &os, vtkIndent indent); 00059 00061 00062 vtkGetObjectMacro(Group, vtkProcessGroup); 00063 virtual void SetGroup(vtkProcessGroup *group); 00065 00067 00068 virtual int SendVoidArray(const void *data, vtkIdType length, int type, 00069 int remoteHandle, int tag); 00070 virtual int ReceiveVoidArray(void *data, vtkIdType length, int type, 00071 int remoteHandle, int tag); 00073 00074 protected: 00075 vtkSubCommunicator(); 00076 virtual ~vtkSubCommunicator(); 00077 00078 vtkProcessGroup *Group; 00079 00080 private: 00081 vtkSubCommunicator(const vtkSubCommunicator &); // Not implemented 00082 void operator=(const vtkSubCommunicator &); // Not implemented 00083 }; 00084 00085 #endif //__vtkSubCommunicator_h