VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Infovis/Parallel/vtkPBGLRMATGraphSource.h
Go to the documentation of this file.
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