VTK  9.1.0
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=========================================================================*/
34#ifndef vtkGraphLayoutFilter_h
35#define vtkGraphLayoutFilter_h
36
37#include "vtkFiltersGeneralModule.h" // For export macro
39
40class VTKFILTERSGENERAL_EXPORT vtkGraphLayoutFilter : public vtkPolyDataAlgorithm
41{
42public:
44
46 void PrintSelf(ostream& os, vtkIndent indent) override;
47
49
54 vtkSetVector6Macro(GraphBounds, double);
55 vtkGetVectorMacro(GraphBounds, double, 6);
57
59
64 vtkSetMacro(AutomaticBoundsComputation, vtkTypeBool);
65 vtkGetMacro(AutomaticBoundsComputation, vtkTypeBool);
66 vtkBooleanMacro(AutomaticBoundsComputation, vtkTypeBool);
68
70
75 vtkSetClampMacro(MaxNumberOfIterations, int, 0, VTK_INT_MAX);
76 vtkGetMacro(MaxNumberOfIterations, int);
78
80
85 vtkSetClampMacro(CoolDownRate, double, 0.01, VTK_DOUBLE_MAX);
86 vtkGetMacro(CoolDownRate, double);
88
89 // Turn on/off layout of graph in three dimensions. If off, graph
90 // layout occurs in two dimensions. By default, three dimensional
91 // layout is on.
92 vtkSetMacro(ThreeDimensionalLayout, vtkTypeBool);
93 vtkGetMacro(ThreeDimensionalLayout, vtkTypeBool);
94 vtkBooleanMacro(ThreeDimensionalLayout, vtkTypeBool);
95
96protected:
98 ~vtkGraphLayoutFilter() override = default;
99
101
102 double GraphBounds[6];
103 vtkTypeBool AutomaticBoundsComputation; // Boolean controls automatic bounds calc.
104 int MaxNumberOfIterations; // Maximum number of iterations.
105 double CoolDownRate; // Cool-down rate. Note: Higher # = Slower rate.
106 vtkTypeBool ThreeDimensionalLayout; // Boolean for a third dimension.
107private:
109 void operator=(const vtkGraphLayoutFilter&) = delete;
110};
111
112#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:113
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