VTK  9.2.6
vtkGraphLayoutFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGraphLayoutFilter.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=========================================================================*/
37#ifndef vtkGraphLayoutFilter_h
38#define vtkGraphLayoutFilter_h
39
40#include "vtkFiltersGeneralModule.h" // For export macro
42
43class VTKFILTERSGENERAL_EXPORT vtkGraphLayoutFilter : public vtkPolyDataAlgorithm
44{
45public:
47
49 void PrintSelf(ostream& os, vtkIndent indent) override;
50
52
57 vtkSetVector6Macro(GraphBounds, double);
58 vtkGetVectorMacro(GraphBounds, double, 6);
60
62
67 vtkSetMacro(AutomaticBoundsComputation, vtkTypeBool);
68 vtkGetMacro(AutomaticBoundsComputation, vtkTypeBool);
69 vtkBooleanMacro(AutomaticBoundsComputation, vtkTypeBool);
71
73
78 vtkSetClampMacro(MaxNumberOfIterations, int, 0, VTK_INT_MAX);
79 vtkGetMacro(MaxNumberOfIterations, int);
81
83
88 vtkSetClampMacro(CoolDownRate, double, 0.01, VTK_DOUBLE_MAX);
89 vtkGetMacro(CoolDownRate, double);
91
92 // Turn on/off layout of graph in three dimensions. If off, graph
93 // layout occurs in two dimensions. By default, three dimensional
94 // layout is on.
95 vtkSetMacro(ThreeDimensionalLayout, vtkTypeBool);
96 vtkGetMacro(ThreeDimensionalLayout, vtkTypeBool);
97 vtkBooleanMacro(ThreeDimensionalLayout, vtkTypeBool);
98
99protected:
101 ~vtkGraphLayoutFilter() override = default;
102
104
105 double GraphBounds[6];
106 vtkTypeBool AutomaticBoundsComputation; // Boolean controls automatic bounds calc.
107 int MaxNumberOfIterations; // Maximum number of iterations.
108 double CoolDownRate; // Cool-down rate. Note: Higher # = Slower rate.
109 vtkTypeBool ThreeDimensionalLayout; // Boolean for a third dimension.
110private:
112 void operator=(const vtkGraphLayoutFilter&) = delete;
113};
114
115#endif
nice layout of undirected graphs in 3D
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkGraphLayoutFilter() override=default
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:40
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:69
#define VTK_DOUBLE_MAX
Definition vtkType.h:165
#define VTK_INT_MAX
Definition vtkType.h:155