VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPBGLRMATGraphSource.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 -------------------------------------------------------------------------*/ 00020 /* 00021 * Copyright (C) 2008 The Trustees of Indiana University. 00022 * Use, modification and distribution is subject to the Boost Software 00023 * License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt) 00024 */ 00069 #ifndef vtkPBGLRMATGraphSource_h 00070 #define vtkPBGLRMATGraphSource_h 00071 00072 #include "vtkInfovisParallelModule.h" // For export macro 00073 #include "vtkGraphAlgorithm.h" 00074 00075 class vtkGraph; 00076 class vtkPVXMLElement; 00077 00078 #if !defined(VTK_LEGACY_REMOVE) 00079 class VTKINFOVISPARALLEL_EXPORT vtkPBGLRMATGraphSource : public vtkGraphAlgorithm 00080 { 00081 public: 00082 static vtkPBGLRMATGraphSource* New(); 00083 vtkTypeMacro(vtkPBGLRMATGraphSource,vtkGraphAlgorithm); 00084 void PrintSelf(ostream& os, vtkIndent indent); 00085 00087 00089 vtkGetMacro(NumberOfVertices, vtkIdType); 00091 00094 virtual void SetNumberOfVertices(vtkIdType value); 00095 00097 00099 vtkGetMacro(NumberOfEdges, vtkIdType); 00100 vtkSetClampMacro(NumberOfEdges, vtkIdType, 0, VTK_ID_MAX); 00102 00104 void SetProbabilities(double A, double B, double C, double D); 00105 00107 void GetProbabilities(double *A, double *B, double *C, double *D); 00108 00110 00112 vtkSetMacro(IncludeEdgeWeights, bool); 00113 vtkGetMacro(IncludeEdgeWeights, bool); 00114 vtkBooleanMacro(IncludeEdgeWeights, bool); 00116 00118 00119 vtkSetStringMacro(EdgeWeightArrayName); 00120 vtkGetStringMacro(EdgeWeightArrayName); 00122 00124 00126 vtkSetMacro(AllowSelfLoops, bool); 00127 vtkGetMacro(AllowSelfLoops, bool); 00128 vtkBooleanMacro(AllowSelfLoops, bool); 00130 00132 00133 vtkSetMacro(GeneratePedigreeIds, bool); 00134 vtkGetMacro(GeneratePedigreeIds, bool); 00135 vtkBooleanMacro(GeneratePedigreeIds, bool); 00137 00139 00140 vtkSetStringMacro(VertexPedigreeIdArrayName); 00141 vtkGetStringMacro(VertexPedigreeIdArrayName); 00143 00145 00146 vtkSetStringMacro(EdgePedigreeIdArrayName); 00147 vtkGetStringMacro(EdgePedigreeIdArrayName); 00149 00151 00154 vtkSetMacro(Seed, int); 00155 vtkGetMacro(Seed, int); 00157 00158 protected: 00159 vtkPBGLRMATGraphSource(); 00160 ~vtkPBGLRMATGraphSource(); 00161 vtkIdType NumberOfVertices; 00162 vtkIdType NumberOfEdges; 00163 double A; 00164 double B; 00165 double C; 00166 double D; 00167 bool IncludeEdgeWeights; 00168 bool AllowSelfLoops; 00169 bool GeneratePedigreeIds; 00170 int Seed; 00171 char* EdgeWeightArrayName; 00172 char* VertexPedigreeIdArrayName; 00173 char* EdgePedigreeIdArrayName; 00174 00175 virtual int RequestData( 00176 vtkInformation*, 00177 vtkInformationVector**, 00178 vtkInformationVector*); 00179 00181 00182 virtual int RequestDataObject(vtkInformation*, 00183 vtkInformationVector** inputVector, 00184 vtkInformationVector* outputVector); 00186 00187 private: 00188 vtkPBGLRMATGraphSource(const vtkPBGLRMATGraphSource&); // Not implemented 00189 void operator=(const vtkPBGLRMATGraphSource&); // Not implemented 00190 }; 00191 00192 #endif //VTK_LEGACY_REMOVE 00193 #endif 00194