VTK  9.3.20240328
vtkTreeLayoutStrategy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
33 #ifndef vtkTreeLayoutStrategy_h
34 #define vtkTreeLayoutStrategy_h
35 
36 #include "vtkGraphLayoutStrategy.h"
37 #include "vtkInfovisLayoutModule.h" // For export macro
38 
39 VTK_ABI_NAMESPACE_BEGIN
40 class VTKINFOVISLAYOUT_EXPORT vtkTreeLayoutStrategy : public vtkGraphLayoutStrategy
41 {
42 public:
44 
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
51  void Layout() override;
52 
54 
59  vtkSetClampMacro(Angle, double, 0, 360);
60  vtkGetMacro(Angle, double);
62 
64 
69  vtkSetMacro(Radial, bool);
70  vtkGetMacro(Radial, bool);
71  vtkBooleanMacro(Radial, bool);
73 
75 
81  vtkSetMacro(LogSpacingValue, double);
82  vtkGetMacro(LogSpacingValue, double);
84 
86 
91  vtkSetClampMacro(LeafSpacing, double, 0.0, 1.0);
92  vtkGetMacro(LeafSpacing, double);
94 
96 
100  vtkSetStringMacro(DistanceArrayName);
101  vtkGetStringMacro(DistanceArrayName);
103 
105 
109  vtkSetMacro(Rotation, double);
110  vtkGetMacro(Rotation, double);
112 
114 
119  vtkSetMacro(ReverseEdges, bool);
120  vtkGetMacro(ReverseEdges, bool);
121  vtkBooleanMacro(ReverseEdges, bool);
123 
124 protected:
127 
128  double Angle;
129  bool Radial;
131  double LeafSpacing;
133  double Rotation;
135 
136 private:
138  void operator=(const vtkTreeLayoutStrategy&) = delete;
139 };
140 
141 VTK_ABI_NAMESPACE_END
142 #endif
abstract superclass for all graph layout strategies
a simple class to control print indentation
Definition: vtkIndent.h:108
void Layout() override
Perform the tree layout.
static vtkTreeLayoutStrategy * New()
~vtkTreeLayoutStrategy() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.