54 #include "vtkChartsCoreModule.h" 88 TICK_WILKINSON_EXTENDED
100 virtual void SetPosition(
int position);
101 vtkGetMacro(Position,
int);
109 void SetPoint1(
float x,
float y);
116 vtkGetVector2Macro(Point1,
float);
125 void SetPoint2(
float x,
float y);
132 vtkGetVector2Macro(Point2,
float);
140 virtual void SetNumberOfTicks(
int numberOfTicks);
146 vtkGetMacro(NumberOfTicks,
int);
153 vtkSetMacro(TickLength,
float);
154 vtkGetMacro(TickLength,
float);
170 virtual void SetMinimum(
double minimum);
178 vtkGetMacro(Minimum,
double);
186 virtual void SetMaximum(
double maximum);
194 vtkGetMacro(Maximum,
double);
202 virtual void SetUnscaledMinimum(
double minimum);
208 vtkGetMacro(UnscaledMinimum,
double);
214 virtual void SetUnscaledMaximum(
double maximum);
220 vtkGetMacro(UnscaledMaximum,
double);
233 virtual void SetRange(
double minimum,
double maximum);
234 virtual void SetRange(
double range[2]);
235 virtual void SetUnscaledRange(
double minimum,
double maximum);
236 virtual void SetUnscaledRange(
double range[2]);
247 virtual void GetRange(
double *
range);
248 virtual void GetUnscaledRange(
double *
range);
254 virtual void SetMinimumLimit(
double lowest);
260 vtkGetMacro(MinimumLimit,
double);
266 virtual void SetMaximumLimit(
double highest);
272 vtkGetMacro(MaximumLimit,
double);
278 virtual void SetUnscaledMinimumLimit(
double lowest);
284 vtkGetMacro(UnscaledMinimumLimit,
double);
290 virtual void SetUnscaledMaximumLimit(
double highest);
296 vtkGetMacro(UnscaledMaximumLimit,
double);
303 vtkGetVector2Macro(Margins,
int);
310 vtkSetVector2Macro(Margins,
int);
341 vtkGetMacro(LogScaleActive,
bool);
351 vtkGetMacro(LogScale,
bool);
352 virtual void SetLogScale(
bool logScale);
353 vtkBooleanMacro(LogScale,
bool);
360 vtkSetMacro(GridVisible,
bool);
361 vtkGetMacro(GridVisible,
bool);
368 vtkSetMacro(LabelsVisible,
bool);
369 vtkGetMacro(LabelsVisible,
bool);
376 vtkSetMacro(RangeLabelsVisible,
bool);
377 vtkGetMacro(RangeLabelsVisible,
bool);
384 vtkSetMacro(LabelOffset,
float);
385 vtkGetMacro(LabelOffset,
float);
392 vtkSetMacro(TicksVisible,
bool);
393 vtkGetMacro(TicksVisible,
bool);
400 vtkSetMacro(AxisVisible,
bool);
401 vtkGetMacro(AxisVisible,
bool);
409 virtual void SetPrecision(
int precision);
410 vtkGetMacro(Precision,
int);
417 STANDARD_NOTATION = 0,
428 virtual void SetLabelFormat(
const std::string &fmt);
448 virtual void SetNotation(
int notation);
449 vtkGetMacro(Notation,
int);
465 vtkSetMacro(Behavior,
int);
466 vtkGetMacro(Behavior,
int);
473 vtkGetObjectMacro(Pen,
vtkPen);
480 vtkGetObjectMacro(GridPen,
vtkPen);
491 vtkSetMacro(TickLabelAlgorithm,
int)
492 vtkGetMacro(TickLabelAlgorithm,
int)
500 vtkSetMacro(ScalingFactor,
double)
501 vtkGetMacro(ScalingFactor,
double)
502 vtkSetMacro(Shift,
double)
503 vtkGetMacro(Shift,
double)
523 virtual void AutoScale();
529 virtual void RecalculateTickSpacing();
571 static double NiceNumber(
double number,
bool roundUp);
577 static double NiceMinMax(
double &min,
double &
max,
float pixelRange,
578 float tickPixelSpacing);
598 void UpdateLogScaleActive(
bool updateMinMaxFromUnscaled);
603 void GenerateTickLabels(
double min,
double max);
608 void GenerateTickLabels();
610 void GenerateLabelFormat(
int notation,
double n);
621 double CalculateNiceMinMax(
double &min,
double &
max);
632 double LogScaleTickMark(
double number,
648 void GenerateLogSpacedLinearTicks(
int order,
double min,
double max);
660 void GenerateLogScaleTickMarks(
int order,
663 bool detailLabels =
true);
771 void operator=(
const vtkAxis &) =
delete;
776 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.
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...
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.