VTK  9.3.20240420
vtkBoostPrimMinimumSpanningTree.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
62#ifndef vtkBoostPrimMinimumSpanningTree_h
63#define vtkBoostPrimMinimumSpanningTree_h
64
65#include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro
66#include "vtkStdString.h" // For string type
67#include "vtkVariant.h" // For variant type
68
69#include "vtkTreeAlgorithm.h"
70
71VTK_ABI_NAMESPACE_BEGIN
72class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostPrimMinimumSpanningTree
73 : public vtkTreeAlgorithm
74{
75public:
78 void PrintSelf(ostream& os, vtkIndent indent) override;
79
81
88 vtkSetStringMacro(EdgeWeightArrayName);
90
96
105
107
111 vtkSetMacro(CreateGraphVertexIdArray, bool);
112 vtkGetMacro(CreateGraphVertexIdArray, bool);
113 vtkBooleanMacro(CreateGraphVertexIdArray, bool);
115
117
124 void SetNegateEdgeWeights(bool value);
125 vtkGetMacro(NegateEdgeWeights, bool);
126 vtkBooleanMacro(NegateEdgeWeights, bool);
128
129protected:
132
134
135 int FillInputPortInformation(int port, vtkInformation* info) override;
136
137private:
138 char* EdgeWeightArrayName;
139 vtkIdType OriginVertexIndex;
140 vtkVariant OriginValue;
141 bool CreateGraphVertexIdArray;
142 bool ArrayNameSet;
143 char* ArrayName;
144 bool NegateEdgeWeights;
145 float EdgeWeightMultiplier;
146
148
151 vtkSetStringMacro(ArrayName);
153
158 vtkIdType GetVertexIndex(vtkAbstractArray* abstract, vtkVariant value);
159
161 void operator=(const vtkBoostPrimMinimumSpanningTree&) = delete;
162};
163
164VTK_ABI_NAMESPACE_END
165#endif
Abstract superclass for all arrays.
Constructs a minimum spanning tree from a graph, start node, and the weighting array.
static vtkBoostPrimMinimumSpanningTree * New()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetNegateEdgeWeights(bool value)
Whether to negate the edge weights.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetOriginVertex(vtkIdType index)
Set the index (into the vertex array) of the minimum spanning tree 'origin' vertex.
void SetOriginVertex(vtkStdString arrayName, vtkVariant value)
Set the minimum spanning tree 'origin' vertex.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Wrapper around std::string to keep symbols short.
Superclass for algorithms that produce only Tree as output.
A type representing the union of many types.
Definition vtkVariant.h:162
int vtkIdType
Definition vtkType.h:315