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 "vtkCommunicator.h" 00049 00050 class vtkProcessGroup; 00051 00052 class VTK_PARALLEL_EXPORT vtkSubCommunicator : public vtkCommunicator 00053 { 00054 public: 00055 vtkTypeMacro(vtkSubCommunicator, vtkCommunicator); 00056 static vtkSubCommunicator *New(); 00057 virtual void PrintSelf(ostream &os, vtkIndent indent); 00058 00060 00061 vtkGetObjectMacro(Group, vtkProcessGroup); 00062 virtual void SetGroup(vtkProcessGroup *group); 00064 00066 00067 virtual int SendVoidArray(const void *data, vtkIdType length, int type, 00068 int remoteHandle, int tag); 00069 virtual int ReceiveVoidArray(void *data, vtkIdType length, int type, 00070 int remoteHandle, int tag); 00072 00073 protected: 00074 vtkSubCommunicator(); 00075 virtual ~vtkSubCommunicator(); 00076 00077 vtkProcessGroup *Group; 00078 00079 private: 00080 vtkSubCommunicator(const vtkSubCommunicator &); // Not implemented 00081 void operator=(const vtkSubCommunicator &); // Not implemented 00082 }; 00083 00084 #endif //__vtkSubCommunicator_h