31 #include "vtkChartsCoreModule.h"
41 class vtkChartXYPrivate;
59 void Update() VTK_OVERRIDE;
85 void ClearPlots() VTK_OVERRIDE;
111 virtual
vtkIdType StackPlotAbove(vtkPlot* plot, vtkPlot* under);
126 virtual
vtkIdType StackPlotUnder(vtkPlot* plot, vtkPlot* above);
131 vtkIdType GetNumberOfPlots() VTK_OVERRIDE;
136 int GetPlotCorner(vtkPlot* plot);
141 void SetPlotCorner(vtkPlot* plot,
int corner);
148 vtkAxis* GetAxis(
int axisIndex) VTK_OVERRIDE;
153 void SetShowLegend(
bool visible) VTK_OVERRIDE;
173 vtkIdType GetNumberOfAxes() VTK_OVERRIDE;
179 void RecalculateBounds() VTK_OVERRIDE;
188 void SetSelectionMethod(
int method) VTK_OVERRIDE;
195 vtkGetMacro(DrawAxesAtOrigin,
bool);
205 vtkGetMacro(AutoAxes,
bool);
214 vtkGetMacro(HiddenAxisBorder,
int);
224 vtkGetMacro(ForceAxesToBounds,
bool);
237 vtkGetMacro(BarWidthFraction,
float);
248 vtkGetMacro(ZoomWithMouseWheel,
bool);
259 vtkGetMacro(AdjustLowerBoundForLogPlot,
bool);
267 vtkIdType segmentIndex = -1);
272 bool Hit(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
277 bool MouseEnterEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
282 bool MouseMoveEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
287 bool MouseLeaveEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
292 bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
297 bool MouseButtonReleaseEvent(const vtkContextMouseEvent& mouse) VTK_OVERRIDE;
302 bool MouseWheelEvent(const vtkContextMouseEvent& mouse,
int delta) VTK_OVERRIDE;
311 ~vtkChartXY() VTK_OVERRIDE;
316 void RecalculatePlotTransforms();
322 void RecalculatePlotBounds();
336 virtual
int GetLegendBorder(
vtkContext2D* painter,
int axisPosition);
342 virtual
void SetLegendPosition(const
vtkRectf& rect);
357 bool PlotTransformValid;
378 bool DrawSelectionPolygon;
383 bool DrawNearestPoint;
390 bool DrawAxesAtOrigin;
400 int HiddenAxisBorder;
406 float BarWidthFraction;
413 bool ForceAxesToBounds;
419 bool ZoomWithMouseWheel;
425 bool AdjustLowerBoundForLogPlot;
428 vtkChartXY(const vtkChartXY&) VTK_DELETE_FUNCTION;
429 void operator=(const vtkChartXY&) VTK_DELETE_FUNCTION;
431 vtkChartXYPrivate* ChartPrivate;
436 void CalculateBarPlots();
443 bool LocatePointInPlots(const vtkContextMouseEvent& mouse,
int invokeEvent = -1);
446 vtkVector2f& plotPos, vtkPlot* plot, vtkIdType& segmentIndex);
451 bool RemovePlotFromCorners(vtkPlot* plot);
458 void TransformBoxOrPolygon(
bool polygonMode,
vtkTransform2D* transform,
478 #endif // vtkChartXY_h
Wrapper around std::string to keep symbols short.
data structure to represent key events.
Hold a reference to a vtkObjectBase instance.
Class for drawing 2D primitives to a graphical context.
Factory class for drawing 2D charts.
takes care of drawing 2D axes
data structure to represent mouse events.
vtkVector2i ScreenPosition
a simple class to control print indentation
Some derived classes for the different vectors commonly used.
Abstract class for 2D plots.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Factory class for drawing XY charts.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Small struct used by InvokeEvent to send some information about the point that was clicked on...
takes care of drawing the plot grid
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...
virtual void Update()
Perform any updates to the item that may be necessary before rendering.