VTK  9.3.1
vtkAxisExtended.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
16 #ifndef vtkAxisExtended_h
17 #define vtkAxisExtended_h
18 #endif
19 
20 #include "vtkChartsCoreModule.h" // For export macro
21 #include "vtkObject.h"
22 #include "vtkVector.h" // Needed for vtkVector
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 class VTKCHARTSCORE_EXPORT vtkAxisExtended : public vtkObject
26 {
27 public:
28  vtkTypeMacro(vtkAxisExtended, vtkObject);
29  static vtkAxisExtended* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
36  static double Simplicity(int qIndex, int qLength, int j, double lmin, double lmax, double lstep);
37 
42  static double SimplicityMax(int qIndex, int qLength, int j);
43 
48  static double Coverage(double dmin, double dmax, double lmin, double lmax);
49 
53  static double CoverageMax(double dmin, double dmax, double span);
54 
59  static double Density(int k, double m, double dmin, double dmax, double lmin, double lmax);
60 
65  static double DensityMax(int k, double m);
66 
70  static double FormatLegibilityScore(double n, int format);
71 
75  static int FormatStringLength(int format, double n, int precision);
76 
82  vtkVector3d GenerateExtendedTickLabels(double dmin, double dmax, double m, double scaling);
83 
85 
88  vtkGetMacro(FontSize, int);
89  vtkSetMacro(FontSize, int);
91 
92  vtkGetMacro(DesiredFontSize, int);
93  vtkSetMacro(DesiredFontSize, int);
94 
95  vtkGetMacro(Precision, int);
96  vtkSetMacro(Precision, int);
97  vtkGetMacro(LabelFormat, int);
98  vtkSetMacro(LabelFormat, int);
99 
100  vtkGetMacro(Orientation, int);
101  vtkSetMacro(Orientation, int);
102 
103  vtkGetMacro(IsAxisVertical, bool);
104  vtkSetMacro(IsAxisVertical, bool);
105 
106 protected:
107  vtkAxisExtended();
108  ~vtkAxisExtended() override;
109 
113  double Legibility(
114  double lmin, double lmax, double lstep, double scaling, vtkVector<int, 3>& parameters);
115 
117  int FontSize;
123 
124 private:
125  vtkAxisExtended(const vtkAxisExtended&) = delete;
126  void operator=(const vtkAxisExtended&) = delete;
127 };
128 VTK_ABI_NAMESPACE_END
abstract base class for most VTK objects
Definition: vtkObject.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
extended axis tick positioning
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...