00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00050 #ifndef __vtkPBGLCollectGraph_h
00051 #define __vtkPBGLCollectGraph_h
00052
00053 #include "vtkStdString.h"
00054
00055 #include <vtksys/stl/utility>
00056 #include <vtksys/stl/numeric>
00057 #include <vtksys/stl/functional>
00058
00059 #include "vtkGraphAlgorithm.h"
00060
00061 class vtkSelection;
00062 class vtkDistributedGraphHelper;
00063
00064 class VTK_PARALLEL_EXPORT vtkPBGLCollectGraph : public vtkGraphAlgorithm
00065 {
00066 public:
00067 static vtkPBGLCollectGraph *New();
00068 vtkTypeMacro(vtkPBGLCollectGraph, vtkGraphAlgorithm);
00069 void PrintSelf(ostream& os, vtkIndent indent);
00070
00072
00076 vtkGetMacro(TargetProcessor, int);
00077 vtkSetMacro(TargetProcessor, int);
00079
00081
00085 vtkGetMacro(ReplicateGraph, bool);
00086 vtkSetMacro(ReplicateGraph, bool);
00087 vtkBooleanMacro(ReplicateGraph, bool);
00089
00091
00093 vtkGetMacro(CopyVertexData, bool);
00094 vtkSetMacro(CopyVertexData, bool);
00095 vtkBooleanMacro(CopyVertexData, bool);
00097
00099
00101 vtkGetMacro(CopyEdgeData, bool);
00102 vtkSetMacro(CopyEdgeData, bool);
00103 vtkBooleanMacro(CopyEdgeData, bool);
00105
00107
00110 vtkGetMacro(CreateOriginProcessArray, bool);
00111 vtkSetMacro(CreateOriginProcessArray, bool);
00112 vtkBooleanMacro(CreateOriginProcessArray, bool);
00114
00116
00118 vtkSetStringMacro(OriginProcessArrayName);
00120
00121 protected:
00122 vtkPBGLCollectGraph();
00123 ~vtkPBGLCollectGraph();
00124
00125 virtual int RequestData(
00126 vtkInformation *,
00127 vtkInformationVector **,
00128 vtkInformationVector *);
00129
00130 virtual int FillInputPortInformation(
00131 int port, vtkInformation* info);
00132
00133 virtual int FillOutputPortInformation(
00134 int port, vtkInformation* info);
00135
00137
00140 void CopyStructureOfDataSetAttributes(vtkDataSetAttributes *inAttrs,
00141 vtkDataSetAttributes *outAttrs,
00142 vtkIdType numberOfTuples);
00144
00145 private:
00146 int TargetProcessor;
00147 bool ReplicateGraph;
00148 bool CopyVertexData;
00149 bool CopyEdgeData;
00150 bool CreateOriginProcessArray;
00151 char * OriginProcessArrayName;
00152
00153 vtkPBGLCollectGraph(const vtkPBGLCollectGraph&);
00154 void operator=(const vtkPBGLCollectGraph&);
00155
00156 };
00157
00158 #endif