VTK  9.4.20250125
vtkGraphLayoutFilter.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
25#ifndef vtkGraphLayoutFilter_h
26#define vtkGraphLayoutFilter_h
27
28#include "vtkFiltersGeneralModule.h" // For export macro
30
31VTK_ABI_NAMESPACE_BEGIN
32class VTKFILTERSGENERAL_EXPORT vtkGraphLayoutFilter : public vtkPolyDataAlgorithm
33{
34public:
36
38 void PrintSelf(ostream& os, vtkIndent indent) override;
39
41
46 vtkSetVector6Macro(GraphBounds, double);
47 vtkGetVectorMacro(GraphBounds, double, 6);
49
51
56 vtkSetMacro(AutomaticBoundsComputation, vtkTypeBool);
57 vtkGetMacro(AutomaticBoundsComputation, vtkTypeBool);
58 vtkBooleanMacro(AutomaticBoundsComputation, vtkTypeBool);
60
62
67 vtkSetClampMacro(MaxNumberOfIterations, int, 0, VTK_INT_MAX);
68 vtkGetMacro(MaxNumberOfIterations, int);
70
72
77 vtkSetClampMacro(CoolDownRate, double, 0.01, VTK_DOUBLE_MAX);
78 vtkGetMacro(CoolDownRate, double);
80
81 // Turn on/off layout of graph in three dimensions. If off, graph
82 // layout occurs in two dimensions. By default, three dimensional
83 // layout is on.
84 vtkSetMacro(ThreeDimensionalLayout, vtkTypeBool);
85 vtkGetMacro(ThreeDimensionalLayout, vtkTypeBool);
86 vtkBooleanMacro(ThreeDimensionalLayout, vtkTypeBool);
87
88protected:
90 ~vtkGraphLayoutFilter() override = default;
91
93
94 double GraphBounds[6];
95 vtkTypeBool AutomaticBoundsComputation; // Boolean controls automatic bounds calc.
96 int MaxNumberOfIterations; // Maximum number of iterations.
97 double CoolDownRate; // Cool-down rate. Note: Higher # = Slower rate.
98 vtkTypeBool ThreeDimensionalLayout; // Boolean for a third dimension.
99private:
101 void operator=(const vtkGraphLayoutFilter&) = delete;
102};
103
104VTK_ABI_NAMESPACE_END
105#endif
nice layout of undirected graphs in 3D
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkGraphLayoutFilter() override=default
vtkTypeBool AutomaticBoundsComputation
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkGraphLayoutFilter * New()
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_DOUBLE_MAX
Definition vtkType.h:154
#define VTK_INT_MAX
Definition vtkType.h:144