VTK  9.3.20240418
vtkBoostBetweennessClustering.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
22 #ifndef vtkBoostBetweennessClustering_h
23 #define vtkBoostBetweennessClustering_h
24 
25 #include "vtkGraphAlgorithm.h"
26 #include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro
27 
28 VTK_ABI_NAMESPACE_BEGIN
29 class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostBetweennessClustering : public vtkGraphAlgorithm
30 {
31 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
38 
40 
44  vtkSetMacro(Threshold, double);
45  vtkGetMacro(Threshold, double);
47 
49 
53  vtkSetMacro(UseEdgeWeightArray, bool);
54  vtkBooleanMacro(UseEdgeWeightArray, bool);
56 
57  vtkSetMacro(InvertEdgeWeightArray, bool);
58  vtkBooleanMacro(InvertEdgeWeightArray, bool);
59 
61 
65  vtkGetStringMacro(EdgeWeightArrayName);
66  vtkSetStringMacro(EdgeWeightArrayName);
68 
70 
74  vtkSetStringMacro(EdgeCentralityArrayName);
76 
77 protected:
78  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
79  vtkInformationVector* outputVector) override;
80 
82 
83 private:
84  double Threshold;
85  bool UseEdgeWeightArray;
86  bool InvertEdgeWeightArray;
87  char* EdgeWeightArrayName;
88  char* EdgeCentralityArrayName;
89 
91  void operator=(const vtkBoostBetweennessClustering&) = delete;
92 };
93 
94 VTK_ABI_NAMESPACE_END
95 #endif // vtkBoostBetweennessClustering_h
Implements graph clustering based on edge betweenness centrality.
static vtkBoostBetweennessClustering * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkBoostBetweennessClustering() override
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
Superclass for algorithms that produce only graph as output.
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447