VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPBGLRandomGraphSource.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00041 #ifndef vtkPBGLRandomGraphSource_h 00042 #define vtkPBGLRandomGraphSource_h 00043 00044 #include "vtkInfovisParallelModule.h" // For export macro 00045 #include "vtkGraphAlgorithm.h" 00046 00047 class vtkGraph; 00048 class vtkPVXMLElement; 00049 00050 #if !defined(VTK_LEGACY_REMOVE) 00051 class VTKINFOVISPARALLEL_EXPORT vtkPBGLRandomGraphSource : public vtkGraphAlgorithm 00052 { 00053 public: 00054 static vtkPBGLRandomGraphSource* New(); 00055 vtkTypeMacro(vtkPBGLRandomGraphSource,vtkGraphAlgorithm); 00056 void PrintSelf(ostream& os, vtkIndent indent); 00057 00059 00060 vtkGetMacro(NumberOfVertices, vtkIdType); 00061 vtkSetClampMacro(NumberOfVertices, vtkIdType, 0, VTK_ID_MAX); 00063 00065 00067 vtkGetMacro(NumberOfEdges, vtkIdType); 00068 vtkSetClampMacro(NumberOfEdges, vtkIdType, 0, VTK_ID_MAX); 00070 00072 00074 vtkGetMacro(EdgeProbability, double); 00075 vtkSetClampMacro(EdgeProbability, double, 0.0, 1.0); 00077 00079 00081 vtkSetMacro(IncludeEdgeWeights, bool); 00082 vtkGetMacro(IncludeEdgeWeights, bool); 00083 vtkBooleanMacro(IncludeEdgeWeights, bool); 00085 00087 00088 vtkSetStringMacro(EdgeWeightArrayName); 00089 vtkGetStringMacro(EdgeWeightArrayName); 00091 00093 00095 vtkSetMacro(Directed, bool); 00096 vtkGetMacro(Directed, bool); 00097 vtkBooleanMacro(Directed, bool); 00099 00101 00107 vtkSetMacro(UseEdgeProbability, bool); 00108 vtkGetMacro(UseEdgeProbability, bool); 00109 vtkBooleanMacro(UseEdgeProbability, bool); 00111 00113 00115 vtkSetMacro(StartWithTree, bool); 00116 vtkGetMacro(StartWithTree, bool); 00117 vtkBooleanMacro(StartWithTree, bool); 00119 00121 00123 vtkSetMacro(AllowSelfLoops, bool); 00124 vtkGetMacro(AllowSelfLoops, bool); 00125 vtkBooleanMacro(AllowSelfLoops, bool); 00127 00129 00134 vtkSetMacro(AllowBalancedEdgeDistribution, bool); 00135 vtkGetMacro(AllowBalancedEdgeDistribution, bool); 00136 vtkBooleanMacro(AllowBalancedEdgeDistribution, bool); 00138 00140 00141 vtkSetMacro(GeneratePedigreeIds, bool); 00142 vtkGetMacro(GeneratePedigreeIds, bool); 00143 vtkBooleanMacro(GeneratePedigreeIds, bool); 00145 00147 00149 vtkSetStringMacro(VertexPedigreeIdArrayName); 00150 vtkGetStringMacro(VertexPedigreeIdArrayName); 00152 00154 00155 vtkSetStringMacro(EdgePedigreeIdArrayName); 00156 vtkGetStringMacro(EdgePedigreeIdArrayName); 00158 00160 00163 vtkSetMacro(Seed, int); 00164 vtkGetMacro(Seed, int); 00166 00167 protected: 00168 vtkPBGLRandomGraphSource(); 00169 ~vtkPBGLRandomGraphSource(); 00170 vtkIdType NumberOfVertices; 00171 vtkIdType NumberOfEdges; 00172 double EdgeProbability; 00173 bool Directed; 00174 bool UseEdgeProbability; 00175 bool StartWithTree; 00176 bool IncludeEdgeWeights; 00177 bool AllowSelfLoops; 00178 bool AllowBalancedEdgeDistribution; 00179 bool GeneratePedigreeIds; 00180 int Seed; 00181 char* EdgeWeightArrayName; 00182 char* VertexPedigreeIdArrayName; 00183 char* EdgePedigreeIdArrayName; 00184 00185 virtual int RequestData( 00186 vtkInformation*, 00187 vtkInformationVector**, 00188 vtkInformationVector*); 00189 00191 00192 virtual int RequestDataObject(vtkInformation*, 00193 vtkInformationVector** inputVector, 00194 vtkInformationVector* outputVector); 00196 00197 private: 00198 vtkPBGLRandomGraphSource(const vtkPBGLRandomGraphSource&); // Not implemented 00199 void operator=(const vtkPBGLRandomGraphSource&); // Not implemented 00200 }; 00201 00202 #endif //VTK_LEGACY_REMOVE 00203 #endif 00204