VTK
dox
Common
DataModel
vtkMutableUndirectedGraph.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkMutableUndirectedGraph.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
-------------------------------------------------------------------------*/
37
#ifndef vtkMutableUndirectedGraph_h
38
#define vtkMutableUndirectedGraph_h
39
40
#include "vtkCommonDataModelModule.h"
// For export macro
41
#include "
vtkUndirectedGraph.h
"
42
43
class
vtkEdgeListIterator
;
44
class
vtkGraphEdge
;
45
46
class
VTKCOMMONDATAMODEL_EXPORT
vtkMutableUndirectedGraph
:
public
vtkUndirectedGraph
47
{
48
public
:
49
static
vtkMutableUndirectedGraph
*
New
();
50
vtkTypeMacro(
vtkMutableUndirectedGraph
,
vtkUndirectedGraph
);
51
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
52
67
virtual
vtkIdType
SetNumberOfVertices(
vtkIdType
numVerts );
68
79
vtkIdType
AddVertex();
80
99
vtkIdType
AddVertex(
vtkVariantArray
*propertyArr);
100
116
vtkIdType
AddVertex(
const
vtkVariant
& pedigreeId);
117
126
vtkEdgeType
AddEdge(
vtkIdType
u,
vtkIdType
v);
127
140
vtkEdgeType
AddEdge(
vtkIdType
u,
vtkIdType
v,
141
vtkVariantArray
*propertyArr);
142
155
vtkEdgeType
AddEdge(
const
vtkVariant
& u,
vtkIdType
v,
156
vtkVariantArray
*propertyArr =
nullptr
);
157
170
vtkEdgeType
AddEdge(
vtkIdType
u,
const
vtkVariant
& v,
171
vtkVariantArray
*propertyArr =
nullptr
);
172
185
vtkEdgeType
AddEdge(
const
vtkVariant
& u,
186
const
vtkVariant
& v,
187
vtkVariantArray
*propertyArr =
nullptr
);
188
196
void
LazyAddVertex();
197
211
void
LazyAddVertex(
vtkVariantArray
*propertyArr);
212
223
void
LazyAddVertex(
const
vtkVariant
& pedigreeId);
224
233
void
LazyAddEdge(
vtkIdType
u,
vtkIdType
v);
234
247
void
LazyAddEdge(
vtkIdType
u,
vtkIdType
v,
vtkVariantArray
*propertyArr);
248
261
void
LazyAddEdge(
const
vtkVariant
& u,
vtkIdType
v,
262
vtkVariantArray
*propertyArr =
nullptr
);
263
276
void
LazyAddEdge(
vtkIdType
u,
const
vtkVariant
& v,
277
vtkVariantArray
*propertyArr =
nullptr
);
278
291
void
LazyAddEdge(
const
vtkVariant
& u,
292
const
vtkVariant
& v,
293
vtkVariantArray
*propertyArr =
nullptr
);
294
303
vtkGraphEdge
*AddGraphEdge(
vtkIdType
u,
vtkIdType
v);
304
309
void
RemoveVertex(
vtkIdType
v);
310
315
void
RemoveEdge(
vtkIdType
e);
316
320
void
RemoveVertices(
vtkIdTypeArray
* arr);
321
325
void
RemoveEdges(
vtkIdTypeArray
* arr);
326
327
protected
:
328
vtkMutableUndirectedGraph
();
329
~
vtkMutableUndirectedGraph
()
override
;
330
334
vtkGraphEdge
*
GraphEdge
;
335
336
private
:
337
vtkMutableUndirectedGraph
(
const
vtkMutableUndirectedGraph
&) =
delete
;
338
void
operator=(
const
vtkMutableUndirectedGraph
&) =
delete
;
339
};
340
341
#endif
vtkUndirectedGraph
An undirected graph.
Definition:
vtkUndirectedGraph.h:54
vtkMutableUndirectedGraph
An editable undirected graph.
Definition:
vtkMutableUndirectedGraph.h:46
vtkIdType
int vtkIdType
Definition:
vtkType.h:347
vtkUndirectedGraph.h
vtkMutableUndirectedGraph::GraphEdge
vtkGraphEdge * GraphEdge
Graph edge that is reused of AddGraphEdge calls.
Definition:
vtkMutableUndirectedGraph.h:334
vtkUndirectedGraph::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkVariantArray
An array holding vtkVariants.
Definition:
vtkVariantArray.h:46
vtkEdgeType
Definition:
vtkGraph.h:276
vtkGraphEdge
Representation of a single graph edge.
Definition:
vtkGraphEdge.h:39
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkVariant
A atomic type representing the union of many types.
Definition:
vtkVariant.h:71
vtkEdgeListIterator
Iterates through all edges in a graph.
Definition:
vtkEdgeListIterator.h:56
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition:
vtkIdTypeArray.h:41
vtkUndirectedGraph::New
static vtkUndirectedGraph * New()
Generated by
1.8.16