VTK
dox/Parallel/vtkPMaskPoints.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPMaskPoints.h
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 =========================================================================*/
00023 #ifndef __vtkPMaskPoints_h
00024 #define __vtkPMaskPoints_h
00025 
00026 #include "vtkMaskPoints.h"
00027 
00028 class vtkMultiProcessController;
00029 
00030 class VTK_PARALLEL_EXPORT vtkPMaskPoints : public vtkMaskPoints
00031 {
00032 public:
00033   static vtkPMaskPoints *New();
00034   vtkTypeMacro(vtkPMaskPoints,vtkMaskPoints);
00035   void PrintSelf(ostream& os, vtkIndent indent);
00036 
00038 
00039   virtual vtkMultiProcessController* GetController();
00040   virtual void SetController(vtkMultiProcessController*);
00042 
00043 protected:
00044   vtkPMaskPoints();
00045   ~vtkPMaskPoints();
00046 
00047   virtual void InternalScatter(unsigned long*, unsigned long *, int, int);
00048   virtual void InternalGather(unsigned long*, unsigned long*, int, int);
00049   virtual int InternalGetNumberOfProcesses();
00050   virtual int InternalGetLocalProcessId();
00051   virtual void InternalBarrier();
00052 
00053   vtkMultiProcessController* Controller;
00054 private:
00055   vtkPMaskPoints(const vtkPMaskPoints&);  // Not implemented.
00056   void operator=(const vtkPMaskPoints&);  // Not implemented.
00057 };
00058 
00059 #endif