VTK
vtkPBGLCollectGraph.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPBGLCollectGraph.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
47 #ifndef vtkPBGLCollectGraph_h
48 #define vtkPBGLCollectGraph_h
49 
50 #include "vtkInfovisParallelModule.h" // For export macro
51 #include "vtkStdString.h" // For string type
52 
53 #include <utility> // for pair
54 #include <numeric> // for accumulate, partial_sum
55 #include <functional> // for plus
56 
57 #include "vtkGraphAlgorithm.h"
58 
59 class vtkSelection;
61 
62 #if !defined(VTK_LEGACY_REMOVE)
63 class VTKINFOVISPARALLEL_EXPORT vtkPBGLCollectGraph : public vtkGraphAlgorithm
64 {
65 public:
66  static vtkPBGLCollectGraph *New();
68  void PrintSelf(ostream& os, vtkIndent indent);
69 
71 
78  vtkGetMacro(TargetProcessor, int);
79  vtkSetMacro(TargetProcessor, int);
81 
83 
89  vtkGetMacro(ReplicateGraph, bool);
90  vtkSetMacro(ReplicateGraph, bool);
91  vtkBooleanMacro(ReplicateGraph, bool);
93 
95 
99  vtkGetMacro(CopyVertexData, bool);
100  vtkSetMacro(CopyVertexData, bool);
101  vtkBooleanMacro(CopyVertexData, bool);
103 
105 
109  vtkGetMacro(CopyEdgeData, bool);
110  vtkSetMacro(CopyEdgeData, bool);
111  vtkBooleanMacro(CopyEdgeData, bool);
113 
115 
120  vtkGetMacro(CreateOriginProcessArray, bool);
121  vtkSetMacro(CreateOriginProcessArray, bool);
122  vtkBooleanMacro(CreateOriginProcessArray, bool);
124 
126 
130  vtkSetStringMacro(OriginProcessArrayName);
132 
133 protected:
136 
137  virtual int RequestData(
138  vtkInformation *,
141 
142  virtual int FillInputPortInformation(
143  int port, vtkInformation* info);
144 
145  virtual int FillOutputPortInformation(
146  int port, vtkInformation* info);
147 
153  void CopyStructureOfDataSetAttributes(vtkDataSetAttributes *inAttrs,
154  vtkDataSetAttributes *outAttrs,
155  vtkIdType numberOfTuples);
156 
157 private:
158  int TargetProcessor;
159  bool ReplicateGraph;
160  bool CopyVertexData;
161  bool CopyEdgeData;
162  bool CreateOriginProcessArray;
163  char * OriginProcessArrayName;
164 
165  vtkPBGLCollectGraph(const vtkPBGLCollectGraph&) VTK_DELETE_FUNCTION;
166  void operator=(const vtkPBGLCollectGraph&) VTK_DELETE_FUNCTION;
167 
168 };
169 
170 #endif //VTK_LEGACY_REMOVE
171 #endif
helper for the vtkGraph class that allows the graph to be distributed across multiple memory spaces...
static vtkGraphAlgorithm * New()
Store vtkAlgorithm input/output information.
A node in a selection tree.
Definition: vtkSelection.h:37
int vtkIdType
Definition: vtkType.h:345
Superclass for algorithms that produce only graph as output.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:33
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
represent and manipulate attribute data in a dataset
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Collects all of the pieces of a distributed vtkGraph into a single, non-distributed vtkGraph...
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.