25 #include "vtkChartsCoreModule.h"
32 VTK_ABI_NAMESPACE_BEGIN
41 class vtkChartXYPrivate;
46 VTK_ABI_NAMESPACE_BEGIN
150 int GetPlotCorner(
vtkPlot* plot);
155 void SetPlotCorner(
vtkPlot* plot,
int corner);
214 void RemovePlotSelections();
220 vtkSetMacro(DrawAxesAtOrigin,
bool);
221 vtkGetMacro(DrawAxesAtOrigin,
bool);
222 vtkBooleanMacro(DrawAxesAtOrigin,
bool);
230 vtkSetMacro(AutoAxes,
bool);
231 vtkGetMacro(AutoAxes,
bool);
232 vtkBooleanMacro(AutoAxes,
bool);
239 vtkSetMacro(HiddenAxisBorder,
int);
240 vtkGetMacro(HiddenAxisBorder,
int);
249 vtkSetMacro(ForceAxesToBounds,
bool);
250 vtkGetMacro(ForceAxesToBounds,
bool);
251 vtkBooleanMacro(ForceAxesToBounds,
bool);
261 vtkSetMacro(IgnoreNanInBounds,
bool);
262 vtkGetMacro(IgnoreNanInBounds,
bool);
263 vtkBooleanMacro(IgnoreNanInBounds,
bool);
274 vtkSetMacro(BarWidthFraction,
float);
275 vtkGetMacro(BarWidthFraction,
float);
285 vtkSetMacro(ZoomWithMouseWheel,
bool);
286 vtkGetMacro(ZoomWithMouseWheel,
bool);
287 vtkBooleanMacro(ZoomWithMouseWheel,
bool);
296 void SetAxisZoom(
int index,
bool v);
297 bool GetAxisZoom(
int index);
306 vtkSetMacro(AdjustLowerBoundForLogPlot,
bool);
307 vtkGetMacro(AdjustLowerBoundForLogPlot,
bool);
308 vtkBooleanMacro(AdjustLowerBoundForLogPlot,
bool);
317 vtkSetMacro(DragPointAlongX,
bool);
318 vtkGetMacro(DragPointAlongX,
bool);
319 vtkBooleanMacro(DragPointAlongX,
bool);
328 vtkSetMacro(DragPointAlongY,
bool);
329 vtkGetMacro(DragPointAlongY,
bool);
330 vtkBooleanMacro(DragPointAlongY,
bool);
379 typedef std::map<unsigned int, vtkSmartPointer<vtkIdTypeArray>>
MapIndexToIds;
385 static void MakeSelection(
vtkAnnotationLink* link,
const MapIndexToIds& selection);
390 const std::vector<vtkContextTransform*>& GetTransforms()
const;
428 static void BuildSelection(
429 int selectionMode, MapIndexToIds& selection,
const MapIndexToIds& oldSelection);
444 void RecalculatePlotTransforms();
450 void RecalculatePlotBounds();
464 virtual int GetLegendBorder(
vtkContext2D* painter,
int axisPosition);
470 virtual void SetLegendPosition(
const vtkRectf& rect);
579 vtkChartXYPrivate* ChartPrivate;
590 void CalculateBarPlots();
605 bool RemovePlotFromCorners(
vtkPlot* plot);
613 void ReleasePlotSelections();
618 void TransformBoxOrPolygon(
bool polygonMode,
vtkTransform2D* transform,
638 VTK_ABI_NAMESPACE_END
639 #endif // vtkChartXY_h
bool DrawAxesAtOrigin
Keep the axes drawn at the origin? This will attempt to keep the axes drawn at the origin...
Wrapper around std::string to keep symbols short.
data structure to represent key events.
virtual void SetShowLegend(bool visible)
Set/get whether the chart should draw a legend.
virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse)
Mouse button down event Return true if the item holds the event, false if the event can be propagated...
bool AdjustLowerBoundForLogPlot
Property to adjust the minimum of a logarithmic axis to be greater than 0, regardless of the minimum ...
vtkContextPolygon SelectionPolygon
The polygon created as the mouse is dragged around the screen when in polygonal selection mode...
virtual vtkIdType GetNumberOfAxes()
Get the number of axes in the current chart.
bool ForceAxesToBounds
Property to force the axes to have their Minimum and Maximum properties inside the plot boundaries...
bool Paint(vtkContext2D *painter) override=0
Paint event for the chart, called whenever the chart needs to be drawn.
virtual void RecalculateBounds()
Request that the chart recalculates the range of its axes.
dynamic, self-adjusting array of vtkIdType
int HiddenAxisBorder
Size of the border when an axis is hidden.
bool DrawSelectionPolygon
Should the selection polygon be drawn.
vtkRectf MouseBox
The box created as the mouse is dragged around the screen.
virtual void ClearPlots()
Remove all plots from the chart.
Class for drawing 2D primitives to a graphical context.
Factory class for drawing 2D charts.
virtual bool RemovePlot(vtkIdType index)
Remove the plot at the specified index, returns true if successful, false if the index was invalid...
virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta)
Mouse wheel event, positive delta indicates forward movement of the wheel.
takes care of drawing 2D axes
data structure to represent mouse events.
vtkVector2i ScreenPosition
virtual void SetAxis(int axisIndex, vtkAxis *)
Set the axis specified by axisIndex.
virtual vtkChartLegend * GetLegend()
Get the legend for the chart, if available.
a simple class to control print indentation
std::map< unsigned int, vtkSmartPointer< vtkIdTypeArray > > MapIndexToIds
bool DrawBox
Should the box be drawn (could be selection, zoom etc).
Some derived classes for the different vectors commonly used.
virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse)
Mouse button release event.
virtual vtkIdType GetNumberOfPlots()
Get the number of plots the chart contains.
Abstract class for 2D plots.
virtual bool KeyPressEvent(const vtkContextKeyEvent &key)
Key press event.
vtkSmartPointer< vtkChartLegend > Legend
The legend for the chart.
virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse)
Mouse enter event.
bool DragPointAlongX
Properties to enable the drag of a point for the ClickAndDrag Action.
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.
bool IgnoreNanInBounds
Property to ignore NaN in RecalculateBounds().
Small struct used by InvokeEvent to send some information about the point that was clicked on...
Composite dataset that organizes datasets into blocks.
virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse)
Mouse move event.
takes care of drawing the plot grid
virtual bool Hit(const vtkContextMouseEvent &mouse)
Return true if the supplied x, y coordinate is inside the item.
virtual vtkPlot * GetPlot(vtkIdType index)
Get the plot at the specified index, returns null if the index is invalid.
bool ZoomWithMouseWheel
Property to enable zooming the chart with the mouse wheel.
bool AutoAxes
Should axes be turned on and off automatically - defaults to on.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkSmartPointer< vtkTooltipItem > Tooltip
The tooltip item for the chart - can be used to display extra information.
float BarWidthFraction
The fraction of the interval taken up along the x axis by any bars that are drawn on the chart...
virtual void SetSelectionMethod(int method)
Set the selection method, which controls how selections are handled by the chart. ...
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse)
Mouse leave event.
virtual vtkPlot * AddPlot(int type)
Add a plot to the chart, defaults to using the name of the y column.
virtual vtkAxis * GetAxis(int axisIndex)
Get the axis specified by axisIndex.
An algorithm for linking annotations among objects.
bool DrawNearestPoint
Should we draw the location of the nearest point on the plot?
bool PlotTransformValid
Does the plot area transform need to be recalculated?