VTK: Filters/General/vtkGraphLayoutFilter.h Source File

| VTK 9.3.1

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
29 #include "vtkPolyDataAlgorithm.h"
30
31 VTK_ABI_NAMESPACE_BEGIN
32 class VTKFILTERSGENERAL_EXPORT vtkGraphLayoutFilter : public vtkPolyDataAlgorithm
33 {
34 public:
35 static vtkGraphLayoutFilter* New();
36
37 vtkTypeMacro(vtkGraphLayoutFilter, vtkPolyDataAlgorithm);
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
88 protected:
89 vtkGraphLayoutFilter();
90 ~vtkGraphLayoutFilter() override = default;
91
92 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
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.
99 private:
100 vtkGraphLayoutFilter(const vtkGraphLayoutFilter&) = delete;
101 void operator=(const vtkGraphLayoutFilter&) = delete;
102 };
103
104 VTK_ABI_NAMESPACE_END
105 #endif
vtkGraphLayoutFilter
nice layout of undirected graphs in 3D
Definition: vtkGraphLayoutFilter.h:33
vtkGraphLayoutFilter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkGraphLayoutFilter::New
static vtkGraphLayoutFilter * New()
vtkGraphLayoutFilter::~vtkGraphLayoutFilter
~vtkGraphLayoutFilter() override=default
vtkGraphLayoutFilter::AutomaticBoundsComputation
vtkTypeBool AutomaticBoundsComputation
Definition: vtkGraphLayoutFilter.h:95
vtkGraphLayoutFilter::CoolDownRate
double CoolDownRate
Definition: vtkGraphLayoutFilter.h:97
vtkGraphLayoutFilter::MaxNumberOfIterations
int MaxNumberOfIterations
Definition: vtkGraphLayoutFilter.h:96
vtkGraphLayoutFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGraphLayoutFilter::vtkGraphLayoutFilter
vtkGraphLayoutFilter()
vtkGraphLayoutFilter::ThreeDimensionalLayout
vtkTypeBool ThreeDimensionalLayout
Definition: vtkGraphLayoutFilter.h:98
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:43
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:64
vtkPolyDataAlgorithm.h
VTK_DOUBLE_MAX
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:144