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);
156 vtkSetMacro(TickLength,
float);
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);
356 vtkBooleanMacro(LogScale,
bool);
363 vtkSetMacro(GridVisible,
bool);
364 vtkGetMacro(GridVisible,
bool);
371 vtkSetMacro(LabelsVisible,
bool);
372 vtkGetMacro(LabelsVisible,
bool);
379 vtkSetMacro(RangeLabelsVisible,
bool);
380 vtkGetMacro(RangeLabelsVisible,
bool);
387 vtkSetMacro(LabelOffset,
float);
388 vtkGetMacro(LabelOffset,
float);
395 vtkSetMacro(TicksVisible,
bool);
396 vtkGetMacro(TicksVisible,
bool);
403 vtkSetMacro(AxisVisible,
bool);
404 vtkGetMacro(AxisVisible,
bool);
411 vtkSetMacro(TitleVisible,
bool);
412 vtkGetMacro(TitleVisible,
bool);
420 virtual void SetPrecision(
int precision);
421 vtkGetMacro(Precision,
int);
428 STANDARD_NOTATION = 0,
439 virtual void SetLabelFormat(
const std::string &fmt);
459 virtual void SetNotation(
int notation);
460 vtkGetMacro(Notation,
int);
476 vtkSetMacro(Behavior,
int);
477 vtkGetMacro(Behavior,
int);
484 vtkGetObjectMacro(Pen,
vtkPen);
491 vtkGetObjectMacro(GridPen,
vtkPen);
502 vtkSetMacro(TickLabelAlgorithm,
int)
503 vtkGetMacro(TickLabelAlgorithm,
int)
511 vtkSetMacro(ScalingFactor,
double)
512 vtkGetMacro(ScalingFactor,
double)
513 vtkSetMacro(Shift,
double)
514 vtkGetMacro(Shift,
double)
534 virtual void AutoScale();
540 virtual void RecalculateTickSpacing();
582 static double NiceNumber(
double number,
bool roundUp);
588 static double NiceMinMax(
double &min,
double &
max,
float pixelRange,
589 float tickPixelSpacing);
609 void UpdateLogScaleActive(
bool updateMinMaxFromUnscaled);
614 void GenerateTickLabels(
double min,
double max);
619 void GenerateTickLabels();
621 virtual void GenerateLabelFormat(
int notation,
double n);
632 double CalculateNiceMinMax(
double &min,
double &
max);
643 double LogScaleTickMark(
double number,
659 virtual void GenerateLogSpacedLinearTicks(
int order,
double min,
double max);
671 void GenerateLogScaleTickMarks(
int order,
674 bool detailLabels =
true);
783 void operator=(
const vtkAxis &) =
delete;
788 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.