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:
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 
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 
vtkPBGLRandomGraphSource::UseEdgeProbability
bool UseEdgeProbability
Definition: vtkPBGLRandomGraphSource.h:174
vtkGraphAlgorithm
Superclass for algorithms that produce only graph as output.
Definition: vtkGraphAlgorithm.h:54
vtkPBGLRandomGraphSource::VertexPedigreeIdArrayName
char * VertexPedigreeIdArrayName
Definition: vtkPBGLRandomGraphSource.h:182
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkPBGLRandomGraphSource::Seed
int Seed
Definition: vtkPBGLRandomGraphSource.h:180
vtkPBGLRandomGraphSource::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkPBGLRandomGraphSource::IncludeEdgeWeights
bool IncludeEdgeWeights
Definition: vtkPBGLRandomGraphSource.h:176
vtkPBGLRandomGraphSource::vtkPBGLRandomGraphSource
vtkPBGLRandomGraphSource()
vtkPBGLRandomGraphSource::AllowBalancedEdgeDistribution
bool AllowBalancedEdgeDistribution
Definition: vtkPBGLRandomGraphSource.h:178
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkGraphAlgorithm.h
vtkPBGLRandomGraphSource::EdgeProbability
double EdgeProbability
Definition: vtkPBGLRandomGraphSource.h:172
vtkPBGLRandomGraphSource::New
static vtkPBGLRandomGraphSource * New()
vtkPBGLRandomGraphSource::NumberOfEdges
vtkIdType NumberOfEdges
Definition: vtkPBGLRandomGraphSource.h:171
vtkPBGLRandomGraphSource::NumberOfVertices
vtkIdType NumberOfVertices
Definition: vtkPBGLRandomGraphSource.h:170
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkPBGLRandomGraphSource::AllowSelfLoops
bool AllowSelfLoops
Definition: vtkPBGLRandomGraphSource.h:177
vtkPBGLRandomGraphSource::StartWithTree
bool StartWithTree
Definition: vtkPBGLRandomGraphSource.h:175
vtkPBGLRandomGraphSource::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkPBGLRandomGraphSource::EdgeWeightArrayName
char * EdgeWeightArrayName
Definition: vtkPBGLRandomGraphSource.h:181
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkPBGLRandomGraphSource::Directed
bool Directed
Definition: vtkPBGLRandomGraphSource.h:173
vtkPBGLRandomGraphSource
Generates a distributed graph with random edges.
Definition: vtkPBGLRandomGraphSource.h:52
vtkPBGLRandomGraphSource::GeneratePedigreeIds
bool GeneratePedigreeIds
Definition: vtkPBGLRandomGraphSource.h:179
VTK_ID_MAX
#define VTK_ID_MAX
Definition: vtkType.h:278
vtkGraph
Base class for graph data types.
Definition: vtkGraph.h:289
vtkPBGLRandomGraphSource::~vtkPBGLRandomGraphSource
~vtkPBGLRandomGraphSource()
vtkPBGLRandomGraphSource::EdgePedigreeIdArrayName
char * EdgePedigreeIdArrayName
Definition: vtkPBGLRandomGraphSource.h:183
vtkPBGLRandomGraphSource::RequestDataObject
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **inputVector, vtkInformationVector *outputVector)