57 #include "vtkChartsCoreModule.h" 91 TICK_WILKINSON_EXTENDED
103 virtual void SetPosition(
int position);
104 vtkGetMacro(Position,
int);
112 void SetPoint1(
float x,
float y);
119 vtkGetVector2Macro(Point1,
float);
128 void SetPoint2(
float x,
float y);
135 vtkGetVector2Macro(Point2,
float);
143 virtual void SetNumberOfTicks(
int numberOfTicks);
149 vtkGetMacro(NumberOfTicks,
int);
157 vtkGetMacro(TickLength,
float);
173 virtual void SetMinimum(
double minimum);
181 vtkGetMacro(Minimum,
double);
189 virtual void SetMaximum(
double maximum);
197 vtkGetMacro(Maximum,
double);
205 virtual void SetUnscaledMinimum(
double minimum);
211 vtkGetMacro(UnscaledMinimum,
double);
217 virtual void SetUnscaledMaximum(
double maximum);
223 vtkGetMacro(UnscaledMaximum,
double);
236 virtual void SetRange(
double minimum,
double maximum);
237 virtual void SetRange(
double range[2]);
238 virtual void SetUnscaledRange(
double minimum,
double maximum);
239 virtual void SetUnscaledRange(
double range[2]);
250 virtual void GetRange(
double *
range);
251 virtual void GetUnscaledRange(
double *
range);
257 virtual void SetMinimumLimit(
double lowest);
263 vtkGetMacro(MinimumLimit,
double);
269 virtual void SetMaximumLimit(
double highest);
275 vtkGetMacro(MaximumLimit,
double);
281 virtual void SetUnscaledMinimumLimit(
double lowest);
287 vtkGetMacro(UnscaledMinimumLimit,
double);
293 virtual void SetUnscaledMaximumLimit(
double highest);
299 vtkGetMacro(UnscaledMaximumLimit,
double);
306 vtkGetVector2Macro(Margins,
int);
313 vtkSetVector2Macro(Margins,
int);
344 vtkGetMacro(LogScaleActive,
bool);
354 vtkGetMacro(LogScale,
bool);
355 virtual void SetLogScale(
bool logScale);
364 vtkGetMacro(GridVisible,
bool);
372 vtkGetMacro(LabelsVisible,
bool);
380 vtkGetMacro(RangeLabelsVisible,
bool);
388 vtkGetMacro(LabelOffset,
float);
396 vtkGetMacro(TicksVisible,
bool);
404 vtkGetMacro(AxisVisible,
bool);
412 virtual void SetPrecision(
int precision);
413 vtkGetMacro(Precision,
int);
420 STANDARD_NOTATION = 0,
431 virtual void SetLabelFormat(
const std::string &fmt);
451 virtual void SetNotation(
int notation);
452 vtkGetMacro(Notation,
int);
469 vtkGetMacro(Behavior,
int);
476 vtkGetObjectMacro(Pen,
vtkPen);
483 vtkGetObjectMacro(GridPen,
vtkPen);
495 vtkGetMacro(TickLabelAlgorithm,
int)
504 vtkGetMacro(ScalingFactor,
double)
506 vtkGetMacro(Shift,
double)
526 virtual void AutoScale();
532 virtual void RecalculateTickSpacing();
574 static double NiceNumber(
double number,
bool roundUp);
580 static double NiceMinMax(
double &min,
double &
max,
float pixelRange,
581 float tickPixelSpacing);
601 void UpdateLogScaleActive(
bool updateMinMaxFromUnscaled);
606 void GenerateTickLabels(
double min,
double max);
611 void GenerateTickLabels();
613 void GenerateLabelFormat(
int notation,
double n);
624 double CalculateNiceMinMax(
double &min,
double &
max);
635 double LogScaleTickMark(
double number,
651 void GenerateLogSpacedLinearTicks(
int order,
double min,
double max);
663 void GenerateLogScaleTickMarks(
int order,
666 bool detailLabels =
true);
774 void operator=(
const vtkAxis &) =
delete;
779 bool InRange(
double value);
vtkTextProperty * LabelProperties
Location
Enumeration of the axis locations in a conventional XY chart.
Wrapper around std::string to keep symbols short.
double NonLogUnscaledMinLimit
vtkPen * Pen
This object stores the vtkPen that controls how the axis is drawn.
base class for items that are part of a vtkContextScene.
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
std::string RangeLabelFormat
double Shift
Scaling factor used on this axis, this is used to accurately render very small/large numbers accurate...
record modification and/or execution time
dynamic, self-adjusting array of float
a vtkAbstractArray subclass for strings
int TickLabelAlgorithm
The algorithm being used to tick label placement.
dynamic, self-adjusting array of double
vtkTimeStamp BuildTime
The point cache is marked dirty until it has been initialized.
double UnscaledMinimumLimit
double UnscaledMaximumLimit
bool Resized
Flag to indicate that the axis has been resized.
Class for drawing 2D primitives to a graphical context.
takes care of drawing 2D axes
a simple class to control print indentation
vtkSmartPointer< vtkStringArray > TickLabels
The labels for the tick marks.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
represent text properties.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkPen * GridPen
This object stores the vtkPen that controls how the grid lines are drawn.
double ScalingFactor
Scaling factor used on this axis, this is used to accurately render very small/large numbers accurate...
vtkTextProperty * TitleProperties
bool CustomTickLabels
Are we using custom tick labels, or should the axis generate them?
vtkSmartPointer< vtkDoubleArray > TickPositions
Position of tick marks in screen coordinates.
bool UsingNiceMinMax
Hint as to whether a nice min/max was set, otherwise labels may not be present at the top/bottom of t...
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
double NonLogUnscaledMaxLimit
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
vtkSmartPointer< vtkFloatArray > TickScenePositions
Position of tick marks in screen coordinates.
bool TickMarksDirty
Mark the tick labels as dirty when the min/max value is changed.