00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00037 #ifndef __vtkRandomGraphSource_h
00038 #define __vtkRandomGraphSource_h
00039
00040 #include "vtkGraphAlgorithm.h"
00041
00042 class vtkGraph;
00043 class vtkPVXMLElement;
00044
00045 class VTK_INFOVIS_EXPORT vtkRandomGraphSource : public vtkGraphAlgorithm
00046 {
00047 public:
00048 static vtkRandomGraphSource* New();
00049 vtkTypeRevisionMacro(vtkRandomGraphSource,vtkGraphAlgorithm);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00051
00053
00054 vtkGetMacro(NumberOfVertices, int);
00055 vtkSetClampMacro(NumberOfVertices, int, 0, VTK_INT_MAX);
00057
00059
00061 vtkGetMacro(NumberOfEdges, int);
00062 vtkSetClampMacro(NumberOfEdges, int, 0, VTK_INT_MAX);
00064
00066
00068 vtkGetMacro(EdgeProbability, double);
00069 vtkSetClampMacro(EdgeProbability, double, 0.0, 1.0);
00071
00073
00075 vtkSetMacro(IncludeEdgeWeights, bool);
00076 vtkGetMacro(IncludeEdgeWeights, bool);
00077 vtkBooleanMacro(IncludeEdgeWeights, bool);
00079
00081
00083 vtkSetMacro(Directed, bool);
00084 vtkGetMacro(Directed, bool);
00085 vtkBooleanMacro(Directed, bool);
00087
00089
00091 vtkSetMacro(UseEdgeProbability, bool);
00092 vtkGetMacro(UseEdgeProbability, bool);
00093 vtkBooleanMacro(UseEdgeProbability, bool);
00095
00097
00099 vtkSetMacro(StartWithTree, bool);
00100 vtkGetMacro(StartWithTree, bool);
00101 vtkBooleanMacro(StartWithTree, bool);
00103
00105
00107 vtkSetMacro(AllowSelfLoops, bool);
00108 vtkGetMacro(AllowSelfLoops, bool);
00109 vtkBooleanMacro(AllowSelfLoops, bool);
00111
00113
00115 vtkSetMacro(AllowParallelEdges, bool);
00116 vtkGetMacro(AllowParallelEdges, bool);
00117 vtkBooleanMacro(AllowParallelEdges, bool);
00119
00120 protected:
00121 vtkRandomGraphSource();
00122 ~vtkRandomGraphSource();
00123 int NumberOfVertices;
00124 int NumberOfEdges;
00125 double EdgeProbability;
00126 bool Directed;
00127 bool UseEdgeProbability;
00128 bool StartWithTree;
00129 bool IncludeEdgeWeights;
00130 bool AllowSelfLoops;
00131 bool AllowParallelEdges;
00132
00133 virtual int RequestData(
00134 vtkInformation*,
00135 vtkInformationVector**,
00136 vtkInformationVector*);
00137
00139
00140 virtual int RequestDataObject(vtkInformation*,
00141 vtkInformationVector** inputVector,
00142 vtkInformationVector* outputVector);
00144
00145 private:
00146 vtkRandomGraphSource(const vtkRandomGraphSource&);
00147 void operator=(const vtkRandomGraphSource&);
00148 };
00149
00150 #endif
00151