VTK
vtkBoostPrimMinimumSpanningTree.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkBoostPrimMinimumSpanningTree.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  -------------------------------------------------------------------------*/
49 #ifndef vtkBoostPrimMinimumSpanningTree_h
50 #define vtkBoostPrimMinimumSpanningTree_h
51 
52 #include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro
53 #include "vtkStdString.h" // For string type
54 #include "vtkVariant.h" // For variant type
55 
56 #include "vtkTreeAlgorithm.h"
57 
58 class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostPrimMinimumSpanningTree : public vtkTreeAlgorithm
59 {
60 public:
63  void PrintSelf(ostream& os, vtkIndent indent);
64 
66 
73  vtkSetStringMacro(EdgeWeightArrayName);
75 
81 
90 
92 
96  vtkSetMacro(CreateGraphVertexIdArray, bool);
97  vtkGetMacro(CreateGraphVertexIdArray, bool);
98  vtkBooleanMacro(CreateGraphVertexIdArray, bool);
100 
102 
110  vtkGetMacro(NegateEdgeWeights, bool);
111  vtkBooleanMacro(NegateEdgeWeights, bool);
113 
114 protected:
117 
119  vtkInformation *,
122 
124  int port, vtkInformation* info);
125 
126 private:
127  char* EdgeWeightArrayName;
128  vtkIdType OriginVertexIndex;
129  vtkVariant OriginValue;
130  bool CreateGraphVertexIdArray;
131  bool ArrayNameSet;
132  char* ArrayName;
133  bool NegateEdgeWeights;
134  float EdgeWeightMultiplier;
135 
137 
140  vtkSetStringMacro(ArrayName);
142 
147  vtkIdType GetVertexIndex(
148  vtkAbstractArray *abstract,vtkVariant value);
149 
151  void operator=(const vtkBoostPrimMinimumSpanningTree&) VTK_DELETE_FUNCTION;
152 };
153 
154 #endif
Abstract superclass for all arrays.
Contructs a minimum spanning tree from a graph, start node, and the weighting array.
static vtkBoostPrimMinimumSpanningTree * New()
int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void SetNegateEdgeWeights(bool value)
Whether to negate the edge weights.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetOriginVertex(vtkIdType index)
Set the index (into the vertex array) of the minimum spanning tree 'origin' vertex.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
void SetOriginVertex(vtkStdString arrayName, vtkVariant value)
Set the minimum spanning tree 'origin' vertex.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
Superclass for algorithms that produce only Tree as output.
A atomic type representing the union of many types.
Definition: vtkVariant.h:76
@ info
Definition: vtkX3D.h:376
@ value
Definition: vtkX3D.h:220
@ port
Definition: vtkX3D.h:447
@ index
Definition: vtkX3D.h:246
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287