VTK
vtkPBGLRMATGraphSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPBGLRMATGraphSource.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 -------------------------------------------------------------------------*/
20 /*
21  * Copyright (C) 2008 The Trustees of Indiana University.
22  * Use, modification and distribution is subject to the Boost Software
23  * License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt)
24  */
70 #ifndef vtkPBGLRMATGraphSource_h
71 #define vtkPBGLRMATGraphSource_h
72 
73 #include "vtkInfovisParallelModule.h" // For export macro
74 #include "vtkGraphAlgorithm.h"
75 
76 class vtkGraph;
77 class vtkPVXMLElement;
78 
79 #if !defined(VTK_LEGACY_REMOVE)
80 class VTKINFOVISPARALLEL_EXPORT vtkPBGLRMATGraphSource : public vtkGraphAlgorithm
81 {
82 public:
85  void PrintSelf(ostream& os, vtkIndent indent);
86 
88 
92  vtkGetMacro(NumberOfVertices, vtkIdType);
94 
100 
102 
106  vtkGetMacro(NumberOfEdges, vtkIdType);
107  vtkSetClampMacro(NumberOfEdges, vtkIdType, 0, VTK_ID_MAX);
109 
114  void SetProbabilities(double A, double B, double C, double D);
115 
119  void GetProbabilities(double *A, double *B, double *C, double *D);
120 
122 
126  vtkSetMacro(IncludeEdgeWeights, bool);
127  vtkGetMacro(IncludeEdgeWeights, bool);
128  vtkBooleanMacro(IncludeEdgeWeights, bool);
130 
132 
135  vtkSetStringMacro(EdgeWeightArrayName);
136  vtkGetStringMacro(EdgeWeightArrayName);
138 
140 
145  vtkSetMacro(AllowSelfLoops, bool);
146  vtkGetMacro(AllowSelfLoops, bool);
147  vtkBooleanMacro(AllowSelfLoops, bool);
149 
151 
154  vtkSetMacro(GeneratePedigreeIds, bool);
155  vtkGetMacro(GeneratePedigreeIds, bool);
156  vtkBooleanMacro(GeneratePedigreeIds, bool);
158 
160 
163  vtkSetStringMacro(VertexPedigreeIdArrayName);
164  vtkGetStringMacro(VertexPedigreeIdArrayName);
166 
168 
171  vtkSetStringMacro(EdgePedigreeIdArrayName);
172  vtkGetStringMacro(EdgePedigreeIdArrayName);
174 
176 
181  vtkSetMacro(Seed, int);
182  vtkGetMacro(Seed, int);
184 
185 protected:
190  double A;
191  double B;
192  double C;
193  double D;
197  int Seed;
201 
202  virtual int RequestData(
206 
211  vtkInformationVector** inputVector,
212  vtkInformationVector* outputVector);
213 
214 private:
215  vtkPBGLRMATGraphSource(const vtkPBGLRMATGraphSource&) VTK_DELETE_FUNCTION;
216  void operator=(const vtkPBGLRMATGraphSource&) VTK_DELETE_FUNCTION;
217 };
218 
219 #endif //VTK_LEGACY_REMOVE
220 #endif
221 
Superclass for algorithms that produce only graph as output.
Base class for graph data types.
Definition: vtkGraph.h:288
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
a distributed graph with random edges built accorting to the recursive matrix (R-MAT) model.
void GetProbabilities(double *A, double *B, double *C, double *D)
Retrieves the quadrant probabilities.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetProbabilities(double A, double B, double C, double D)
Set the quadrant probabilities A, B, C, D.
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Creates directed or undirected output based on Directed flag.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual void SetNumberOfVertices(vtkIdType value)
Sets the number of vertices in the graph, which will be rounded to the nearest power of two.
static vtkPBGLRMATGraphSource * New()
@ value
Definition: vtkX3D.h:220
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
int vtkIdType
Definition: vtkType.h:287
#define VTK_ID_MAX
Definition: vtkType.h:291