VTK
vtkPBGLRandomGraphSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPBGLRandomGraphSource.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 -------------------------------------------------------------------------*/
41 #ifndef vtkPBGLRandomGraphSource_h
42 #define vtkPBGLRandomGraphSource_h
43 
44 #include "vtkInfovisParallelModule.h" // For export macro
45 #include "vtkGraphAlgorithm.h"
46 
47 class vtkGraph;
48 class vtkPVXMLElement;
49 
50 #if !defined(VTK_LEGACY_REMOVE)
51 class VTKINFOVISPARALLEL_EXPORT vtkPBGLRandomGraphSource : public vtkGraphAlgorithm
52 {
53 public:
54  static vtkPBGLRandomGraphSource* New();
56  void PrintSelf(ostream& os, vtkIndent indent);
57 
59 
60  vtkGetMacro(NumberOfVertices, vtkIdType);
61  vtkSetClampMacro(NumberOfVertices, vtkIdType, 0, VTK_ID_MAX);
63 
65 
67  vtkGetMacro(NumberOfEdges, vtkIdType);
68  vtkSetClampMacro(NumberOfEdges, vtkIdType, 0, VTK_ID_MAX);
70 
72 
74  vtkGetMacro(EdgeProbability, double);
75  vtkSetClampMacro(EdgeProbability, double, 0.0, 1.0);
77 
79 
81  vtkSetMacro(IncludeEdgeWeights, bool);
82  vtkGetMacro(IncludeEdgeWeights, bool);
83  vtkBooleanMacro(IncludeEdgeWeights, bool);
85 
87 
88  vtkSetStringMacro(EdgeWeightArrayName);
89  vtkGetStringMacro(EdgeWeightArrayName);
91 
93 
95  vtkSetMacro(Directed, bool);
96  vtkGetMacro(Directed, bool);
97  vtkBooleanMacro(Directed, bool);
99 
101 
107  vtkSetMacro(UseEdgeProbability, bool);
108  vtkGetMacro(UseEdgeProbability, bool);
109  vtkBooleanMacro(UseEdgeProbability, bool);
111 
113 
115  vtkSetMacro(StartWithTree, bool);
116  vtkGetMacro(StartWithTree, bool);
117  vtkBooleanMacro(StartWithTree, bool);
119 
121 
123  vtkSetMacro(AllowSelfLoops, bool);
124  vtkGetMacro(AllowSelfLoops, bool);
125  vtkBooleanMacro(AllowSelfLoops, bool);
127 
129 
134  vtkSetMacro(AllowBalancedEdgeDistribution, bool);
135  vtkGetMacro(AllowBalancedEdgeDistribution, bool);
136  vtkBooleanMacro(AllowBalancedEdgeDistribution, bool);
138 
140 
141  vtkSetMacro(GeneratePedigreeIds, bool);
142  vtkGetMacro(GeneratePedigreeIds, bool);
143  vtkBooleanMacro(GeneratePedigreeIds, bool);
145 
147 
149  vtkSetStringMacro(VertexPedigreeIdArrayName);
150  vtkGetStringMacro(VertexPedigreeIdArrayName);
152 
154 
155  vtkSetStringMacro(EdgePedigreeIdArrayName);
156  vtkGetStringMacro(EdgePedigreeIdArrayName);
158 
160 
163  vtkSetMacro(Seed, int);
164  vtkGetMacro(Seed, int);
166 
167 protected:
173  bool Directed;
180  int Seed;
184 
185  virtual int RequestData(
189 
191 
192  virtual int RequestDataObject(vtkInformation*,
193  vtkInformationVector** inputVector,
194  vtkInformationVector* outputVector);
196 
197 private:
198  vtkPBGLRandomGraphSource(const vtkPBGLRandomGraphSource&); // Not implemented
199  void operator=(const vtkPBGLRandomGraphSource&); // Not implemented
200 };
201 
202 #endif //VTK_LEGACY_REMOVE
203 #endif
204 
static vtkGraphAlgorithm * New()
Store vtkAlgorithm input/output information.
Generates a distributed graph with random edges.
int vtkIdType
Definition: vtkType.h:275
Superclass for algorithms that produce only graph as output.
Base class for graph data types.
Definition: vtkGraph.h:288
a simple class to control print indentation
Definition: vtkIndent.h:38
void PrintSelf(ostream &os, vtkIndent indent)
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define VTK_ID_MAX
Definition: vtkType.h:278
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Store zero or more vtkInformation instances.