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 -------------------------------------------------------------------------*/
40 #ifndef __vtkPBGLRandomGraphSource_h
41 #define __vtkPBGLRandomGraphSource_h
42 
43 #include "vtkGraphAlgorithm.h"
44 
45 class vtkGraph;
46 class vtkPVXMLElement;
47 
49 {
50 public:
51  static vtkPBGLRandomGraphSource* New();
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
56 
57  vtkGetMacro(NumberOfVertices, vtkIdType);
58  vtkSetClampMacro(NumberOfVertices, vtkIdType, 0, VTK_LARGE_ID);
60 
62 
64  vtkGetMacro(NumberOfEdges, vtkIdType);
65  vtkSetClampMacro(NumberOfEdges, vtkIdType, 0, VTK_LARGE_ID);
67 
69 
71  vtkGetMacro(EdgeProbability, double);
72  vtkSetClampMacro(EdgeProbability, double, 0.0, 1.0);
74 
76 
78  vtkSetMacro(IncludeEdgeWeights, bool);
79  vtkGetMacro(IncludeEdgeWeights, bool);
80  vtkBooleanMacro(IncludeEdgeWeights, bool);
82 
84 
85  vtkSetStringMacro(EdgeWeightArrayName);
86  vtkGetStringMacro(EdgeWeightArrayName);
88 
90 
92  vtkSetMacro(Directed, bool);
93  vtkGetMacro(Directed, bool);
94  vtkBooleanMacro(Directed, bool);
96 
98 
104  vtkSetMacro(UseEdgeProbability, bool);
105  vtkGetMacro(UseEdgeProbability, bool);
106  vtkBooleanMacro(UseEdgeProbability, bool);
108 
110 
112  vtkSetMacro(StartWithTree, bool);
113  vtkGetMacro(StartWithTree, bool);
114  vtkBooleanMacro(StartWithTree, bool);
116 
118 
120  vtkSetMacro(AllowSelfLoops, bool);
121  vtkGetMacro(AllowSelfLoops, bool);
122  vtkBooleanMacro(AllowSelfLoops, bool);
124 
126 
131  vtkSetMacro(AllowBalancedEdgeDistribution, bool);
132  vtkGetMacro(AllowBalancedEdgeDistribution, bool);
133  vtkBooleanMacro(AllowBalancedEdgeDistribution, bool);
135 
137 
138  vtkSetMacro(GeneratePedigreeIds, bool);
139  vtkGetMacro(GeneratePedigreeIds, bool);
140  vtkBooleanMacro(GeneratePedigreeIds, bool);
142 
144 
146  vtkSetStringMacro(VertexPedigreeIdArrayName);
147  vtkGetStringMacro(VertexPedigreeIdArrayName);
149 
151 
152  vtkSetStringMacro(EdgePedigreeIdArrayName);
153  vtkGetStringMacro(EdgePedigreeIdArrayName);
155 
157 
160  vtkSetMacro(Seed, int);
161  vtkGetMacro(Seed, int);
163 
164 protected:
170  bool Directed;
177  int Seed;
181 
182  virtual int RequestData(
186 
188 
189  virtual int RequestDataObject(vtkInformation*,
190  vtkInformationVector** inputVector,
191  vtkInformationVector* outputVector);
193 
194 private:
195  vtkPBGLRandomGraphSource(const vtkPBGLRandomGraphSource&); // Not implemented
196  void operator=(const vtkPBGLRandomGraphSource&); // Not implemented
197 };
198 
199 #endif
200