00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00047 #ifndef __vtkPBGLCollectGraph_h
00048 #define __vtkPBGLCollectGraph_h
00049
00050 #include "vtkStdString.h"
00051
00052 #include <vtksys/stl/utility>
00053 #include <vtksys/stl/numeric>
00054 #include <vtksys/stl/functional>
00055
00056 #include "vtkGraphAlgorithm.h"
00057
00058 class vtkSelection;
00059 class vtkDistributedGraphHelper;
00060
00061 class VTK_PARALLEL_EXPORT vtkPBGLCollectGraph : public vtkGraphAlgorithm
00062 {
00063 public:
00064 static vtkPBGLCollectGraph *New();
00065 vtkTypeRevisionMacro(vtkPBGLCollectGraph, vtkGraphAlgorithm);
00066 void PrintSelf(ostream& os, vtkIndent indent);
00067
00069
00073 vtkGetMacro(TargetProcessor, int);
00074 vtkSetMacro(TargetProcessor, int);
00076
00078
00082 vtkGetMacro(ReplicateGraph, bool);
00083 vtkSetMacro(ReplicateGraph, bool);
00084 vtkBooleanMacro(ReplicateGraph, bool);
00086
00088
00090 vtkGetMacro(CopyVertexData, bool);
00091 vtkSetMacro(CopyVertexData, bool);
00092 vtkBooleanMacro(CopyVertexData, bool);
00094
00096
00098 vtkGetMacro(CopyEdgeData, bool);
00099 vtkSetMacro(CopyEdgeData, bool);
00100 vtkBooleanMacro(CopyEdgeData, bool);
00102
00103 protected:
00104 vtkPBGLCollectGraph();
00105 ~vtkPBGLCollectGraph();
00106
00107 virtual int RequestData(
00108 vtkInformation *,
00109 vtkInformationVector **,
00110 vtkInformationVector *);
00111
00112 virtual int FillInputPortInformation(
00113 int port, vtkInformation* info);
00114
00115 virtual int FillOutputPortInformation(
00116 int port, vtkInformation* info);
00117
00119
00122 void CopyStructureOfDataSetAttributes(vtkDataSetAttributes *inAttrs,
00123 vtkDataSetAttributes *outAttrs,
00124 vtkIdType numberOfTuples);
00126
00127 private:
00128 int TargetProcessor;
00129 bool ReplicateGraph;
00130 bool CopyVertexData;
00131 bool CopyEdgeData;
00132
00133 vtkPBGLCollectGraph(const vtkPBGLCollectGraph&);
00134 void operator=(const vtkPBGLCollectGraph&);
00135
00136 };
00137
00138 #endif