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
76class vtkGraph;
77class vtkPVXMLElement;
78
79#if !defined(VTK_LEGACY_REMOVE)
80class VTKINFOVISPARALLEL_EXPORT vtkPBGLRMATGraphSource : public vtkGraphAlgorithm
81{
82public:
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
185protected:
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
214private:
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.
static vtkPBGLRMATGraphSource * New()
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.
@ 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