00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCollectPolyData.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 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 =========================================================================*/ 00027 #ifndef __vtkCollectPolyData_h 00028 #define __vtkCollectPolyData_h 00029 00030 #include "vtkPolyDataToPolyDataFilter.h" 00031 00032 class vtkMultiProcessController; 00033 00034 class VTK_PARALLEL_EXPORT vtkCollectPolyData : public vtkPolyDataToPolyDataFilter 00035 { 00036 public: 00037 static vtkCollectPolyData *New(); 00038 vtkTypeRevisionMacro(vtkCollectPolyData, vtkPolyDataToPolyDataFilter); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 00044 virtual void SetController(vtkMultiProcessController*); 00045 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00047 00049 00052 vtkSetMacro(Threshold, unsigned long); 00053 vtkGetMacro(Threshold, unsigned long); 00055 00057 00059 vtkGetMacro(Collected, int); 00061 00062 protected: 00063 vtkCollectPolyData(); 00064 ~vtkCollectPolyData(); 00065 00066 // Data generation method 00067 void ComputeInputUpdateExtents(vtkDataObject *output); 00068 void Execute(); 00069 void ExecuteInformation(); 00070 00071 unsigned long Threshold; 00072 int Collected; 00073 00074 vtkMultiProcessController *Controller; 00075 00076 private: 00077 vtkCollectPolyData(const vtkCollectPolyData&); // Not implemented 00078 void operator=(const vtkCollectPolyData&); // Not implemented 00079 }; 00080 00081 #endif