VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCollectGraph.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 =========================================================================*/ 00015 /*---------------------------------------------------------------------------- 00016 Copyright (c) Sandia Corporation 00017 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00018 ----------------------------------------------------------------------------*/ 00026 #ifndef vtkCollectGraph_h 00027 #define vtkCollectGraph_h 00028 00029 #include "vtkFiltersParallelModule.h" // For export macro 00030 #include "vtkGraphAlgorithm.h" 00031 00032 class vtkMultiProcessController; 00033 class vtkSocketController; 00034 00035 class VTKFILTERSPARALLEL_EXPORT vtkCollectGraph : public vtkGraphAlgorithm 00036 { 00037 public: 00038 static vtkCollectGraph *New(); 00039 vtkTypeMacro(vtkCollectGraph, vtkGraphAlgorithm); 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00043 00045 virtual void SetController(vtkMultiProcessController*); 00046 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00048 00050 00053 virtual void SetSocketController(vtkSocketController*); 00054 vtkGetObjectMacro(SocketController, vtkSocketController); 00056 00058 00059 vtkSetMacro(PassThrough, int); 00060 vtkGetMacro(PassThrough, int); 00061 vtkBooleanMacro(PassThrough, int); 00063 00064 //BTX 00065 enum { 00066 DIRECTED_OUTPUT, 00067 UNDIRECTED_OUTPUT, 00068 USE_INPUT_TYPE 00069 }; 00070 //ETX 00071 00073 00080 vtkSetMacro(OutputType, int); 00081 vtkGetMacro(OutputType, int); 00083 00084 protected: 00085 vtkCollectGraph(); 00086 ~vtkCollectGraph(); 00087 00088 int PassThrough; 00089 int OutputType; 00090 00091 // Data generation method 00092 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00093 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00094 virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00095 00096 vtkMultiProcessController *Controller; 00097 vtkSocketController *SocketController; 00098 00099 private: 00100 vtkCollectGraph(const vtkCollectGraph&); // Not implemented 00101 void operator=(const vtkCollectGraph&); // Not implemented 00102 }; 00103 00104 #endif