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 "vtkGraphAlgorithm.h" 00030 00031 class vtkMultiProcessController; 00032 class vtkSocketController; 00033 00034 class VTK_PARALLEL_EXPORT vtkCollectGraph : public vtkGraphAlgorithm 00035 { 00036 public: 00037 static vtkCollectGraph *New(); 00038 vtkTypeMacro(vtkCollectGraph, vtkGraphAlgorithm); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 00044 virtual void SetController(vtkMultiProcessController*); 00045 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00047 00049 00052 virtual void SetSocketController(vtkSocketController*); 00053 vtkGetObjectMacro(SocketController, vtkSocketController); 00055 00057 00058 vtkSetMacro(PassThrough, int); 00059 vtkGetMacro(PassThrough, int); 00060 vtkBooleanMacro(PassThrough, int); 00062 00063 //BTX 00064 enum { 00065 DIRECTED_OUTPUT, 00066 UNDIRECTED_OUTPUT, 00067 USE_INPUT_TYPE 00068 }; 00069 //ETX 00070 00072 00079 vtkSetMacro(OutputType, int); 00080 vtkGetMacro(OutputType, int); 00082 00083 protected: 00084 vtkCollectGraph(); 00085 ~vtkCollectGraph(); 00086 00087 int PassThrough; 00088 int OutputType; 00089 00090 // Data generation method 00091 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00092 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00093 virtual int RequestInformation(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