VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 -------------------------------------------------------------------------*/
40 #ifndef __vtkPBGLRandomGraphSource_h
41 #define __vtkPBGLRandomGraphSource_h
42 
43 #include "vtkInfovisParallelModule.h" // For export macro
44 #include "vtkGraphAlgorithm.h"
45 
46 class vtkGraph;
47 class vtkPVXMLElement;
48 
49 class VTKINFOVISPARALLEL_EXPORT vtkPBGLRandomGraphSource : public vtkGraphAlgorithm
50 {
51 public:
52  static vtkPBGLRandomGraphSource* New();
54  void PrintSelf(ostream& os, vtkIndent indent);
55 
57 
58  vtkGetMacro(NumberOfVertices, vtkIdType);
59  vtkSetClampMacro(NumberOfVertices, vtkIdType, 0, VTK_ID_MAX);
61 
63 
65  vtkGetMacro(NumberOfEdges, vtkIdType);
66  vtkSetClampMacro(NumberOfEdges, vtkIdType, 0, VTK_ID_MAX);
68 
70 
72  vtkGetMacro(EdgeProbability, double);
73  vtkSetClampMacro(EdgeProbability, double, 0.0, 1.0);
75 
77 
79  vtkSetMacro(IncludeEdgeWeights, bool);
80  vtkGetMacro(IncludeEdgeWeights, bool);
81  vtkBooleanMacro(IncludeEdgeWeights, bool);
83 
85 
86  vtkSetStringMacro(EdgeWeightArrayName);
87  vtkGetStringMacro(EdgeWeightArrayName);
89 
91 
93  vtkSetMacro(Directed, bool);
94  vtkGetMacro(Directed, bool);
95  vtkBooleanMacro(Directed, bool);
97 
99 
105  vtkSetMacro(UseEdgeProbability, bool);
106  vtkGetMacro(UseEdgeProbability, bool);
107  vtkBooleanMacro(UseEdgeProbability, bool);
109 
111 
113  vtkSetMacro(StartWithTree, bool);
114  vtkGetMacro(StartWithTree, bool);
115  vtkBooleanMacro(StartWithTree, bool);
117 
119 
121  vtkSetMacro(AllowSelfLoops, bool);
122  vtkGetMacro(AllowSelfLoops, bool);
123  vtkBooleanMacro(AllowSelfLoops, bool);
125 
127 
132  vtkSetMacro(AllowBalancedEdgeDistribution, bool);
133  vtkGetMacro(AllowBalancedEdgeDistribution, bool);
134  vtkBooleanMacro(AllowBalancedEdgeDistribution, bool);
136 
138 
139  vtkSetMacro(GeneratePedigreeIds, bool);
140  vtkGetMacro(GeneratePedigreeIds, bool);
141  vtkBooleanMacro(GeneratePedigreeIds, bool);
143 
145 
147  vtkSetStringMacro(VertexPedigreeIdArrayName);
148  vtkGetStringMacro(VertexPedigreeIdArrayName);
150 
152 
153  vtkSetStringMacro(EdgePedigreeIdArrayName);
154  vtkGetStringMacro(EdgePedigreeIdArrayName);
156 
158 
161  vtkSetMacro(Seed, int);
162  vtkGetMacro(Seed, int);
164 
165 protected:
171  bool Directed;
178  int Seed;
182 
183  virtual int RequestData(
187 
189 
190  virtual int RequestDataObject(vtkInformation*,
191  vtkInformationVector** inputVector,
192  vtkInformationVector* outputVector);
194 
195 private:
196  vtkPBGLRandomGraphSource(const vtkPBGLRandomGraphSource&); // Not implemented
197  void operator=(const vtkPBGLRandomGraphSource&); // Not implemented
198 };
199 
200 #endif
201 
static vtkGraphAlgorithm * New()
Store vtkAlgorithm input/output information.
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:83
Generates a distributed graph with random edges.
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:133
int vtkIdType
Definition: vtkType.h:268
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:94
Superclass for algorithms that produce only graph as output.
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:619
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 vtkGetStringMacro(name)
Definition: vtkSetGet.h:120
#define VTK_ID_MAX
Definition: vtkType.h:271
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Store zero or more vtkInformation instances.
#define vtkBooleanMacro(name, type)
Definition: vtkSetGet.h:234
#define vtkSetMacro(name, type)
Definition: vtkSetGet.h:69