VTK  9.4.20241222
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#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
24
25VTK_ABI_NAMESPACE_BEGIN
26class VTKCHARTSCORE_EXPORT VTK_MARSHALAUTO vtkAxisExtended : public vtkObject
27{
28public:
29 vtkTypeMacro(vtkAxisExtended, vtkObject);
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
37 static double Simplicity(int qIndex, int qLength, int j, double lmin, double lmax, double lstep);
38
43 static double SimplicityMax(int qIndex, int qLength, int j);
44
49 static double Coverage(double dmin, double dmax, double lmin, double lmax);
50
54 static double CoverageMax(double dmin, double dmax, double span);
55
60 static double Density(int k, double m, double dmin, double dmax, double lmin, double lmax);
61
66 static double DensityMax(int k, double m);
67
71 static double FormatLegibilityScore(double n, int format);
72
76 static int FormatStringLength(int format, double n, int precision);
77
83 vtkVector3d GenerateExtendedTickLabels(double dmin, double dmax, double m, double scaling);
84
86
89 vtkGetMacro(FontSize, int);
90 vtkSetMacro(FontSize, int);
92
93 vtkGetMacro(DesiredFontSize, int);
94 vtkSetMacro(DesiredFontSize, int);
95
96 vtkGetMacro(Precision, int);
97 vtkSetMacro(Precision, int);
98 vtkGetMacro(LabelFormat, int);
99 vtkSetMacro(LabelFormat, int);
100
101 vtkGetMacro(Orientation, int);
102 vtkSetMacro(Orientation, int);
103
104 vtkGetMacro(IsAxisVertical, bool);
105 vtkSetMacro(IsAxisVertical, bool);
106
107protected:
110
115 double lmin, double lmax, double lstep, double scaling, vtkVector<int, 3>& parameters);
116
124
125private:
126 vtkAxisExtended(const vtkAxisExtended&) = delete;
127 void operator=(const vtkAxisExtended&) = delete;
128};
129VTK_ABI_NAMESPACE_END
extended axis tick positioning
static double Coverage(double dmin, double dmax, double lmin, double lmax)
This method makes the data range approximately same as the labeling range more preferable.
~vtkAxisExtended() override
static double SimplicityMax(int qIndex, int qLength, int j)
This method returns the maximum possible value of simplicity value given q and j.
static double FormatLegibilityScore(double n, int format)
This methods return the legibility score of different formats.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
double Legibility(double lmin, double lmax, double lstep, double scaling, vtkVector< int, 3 > &parameters)
This method implements an exhaustive search of the legibilty parameters.
static double DensityMax(int k, double m)
Derives the maximum values for density given k (number of ticks) and m (user given)
static double Simplicity(int qIndex, int qLength, int j, double lmin, double lmax, double lstep)
This method return a value to make step sizes corresponding to low q and j values more preferable.
static double CoverageMax(double dmin, double dmax, double span)
This gives the maximum possible value of coverage given the step size.
static int FormatStringLength(int format, double n, int precision)
This method returns the string length of different format notations.
static double Density(int k, double m, double dmin, double dmax, double lmin, double lmax)
This method return a value to make the density of the labels close to the user given value.
vtkVector3d GenerateExtendedTickLabels(double dmin, double dmax, double m, double scaling)
This method implements the algorithm given in the paper The method return the minimum tick position,...
static vtkAxisExtended * New()
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
templated base type for storage of vectors.
Definition vtkVector.h:59
#define VTK_MARSHALAUTO