134#include "vtkChartsCoreModule.h"
143VTK_ABI_NAMESPACE_BEGIN
152class vtkChartXYPrivate;
157VTK_ABI_NAMESPACE_BEGIN
331 vtkSetMacro(DrawAxesAtOrigin,
bool);
332 vtkGetMacro(DrawAxesAtOrigin,
bool);
333 vtkBooleanMacro(DrawAxesAtOrigin,
bool);
341 vtkSetMacro(AutoAxes,
bool);
342 vtkGetMacro(AutoAxes,
bool);
343 vtkBooleanMacro(AutoAxes,
bool);
350 vtkSetMacro(HiddenAxisBorder,
int);
351 vtkGetMacro(HiddenAxisBorder,
int);
360 vtkSetMacro(ForceAxesToBounds,
bool);
361 vtkGetMacro(ForceAxesToBounds,
bool);
362 vtkBooleanMacro(ForceAxesToBounds,
bool);
372 vtkSetMacro(IgnoreNanInBounds,
bool);
373 vtkGetMacro(IgnoreNanInBounds,
bool);
374 vtkBooleanMacro(IgnoreNanInBounds,
bool);
385 vtkSetMacro(BarWidthFraction,
float);
386 vtkGetMacro(BarWidthFraction,
float);
396 vtkSetMacro(ZoomWithMouseWheel,
bool);
397 vtkGetMacro(ZoomWithMouseWheel,
bool);
398 vtkBooleanMacro(ZoomWithMouseWheel,
bool);
417 vtkSetMacro(AdjustLowerBoundForLogPlot,
bool);
418 vtkGetMacro(AdjustLowerBoundForLogPlot,
bool);
419 vtkBooleanMacro(AdjustLowerBoundForLogPlot,
bool);
428 vtkSetMacro(DragPointAlongX,
bool);
429 vtkGetMacro(DragPointAlongX,
bool);
430 vtkBooleanMacro(DragPointAlongX,
bool);
439 vtkSetMacro(DragPointAlongY,
bool);
440 vtkGetMacro(DragPointAlongY,
bool);
441 vtkBooleanMacro(DragPointAlongY,
bool);
490 typedef std::map<unsigned int, vtkSmartPointer<vtkIdTypeArray>>
MapIndexToIds;
556 void RecalculatePlotTransforms();
562 void RecalculatePlotBounds();
582 virtual
void SetLegendPosition(const
vtkRectf& rect);
597 bool PlotTransformValid;
618 bool DrawSelectionPolygon;
623 bool DrawNearestPoint;
630 bool DrawAxesAtOrigin;
640 int HiddenAxisBorder;
646 float BarWidthFraction;
653 bool ForceAxesToBounds;
661 bool IgnoreNanInBounds;
667 bool ZoomWithMouseWheel;
679 bool AdjustLowerBoundForLogPlot;
684 bool DragPointAlongX;
685 bool DragPointAlongY;
691 vtkChartXYPrivate* ChartPrivate;
702 void CalculateBarPlots();
717 bool RemovePlotFromCorners(
vtkPlot* plot);
725 void ReleasePlotSelections();
730 void TransformBoxOrPolygon(
bool polygonMode,
vtkTransform2D* transform,
An algorithm for linking annotations among objects.
takes care of drawing 2D axes
Factory class for drawing XY charts.
vtkAxis * GetAxis(int axisIndex) override
Get the axis specified by axisIndex.
virtual vtkIdType StackPlotUnder(vtkPlot *plot, vtkPlot *above)
Lowers the plot under the above plot.
vtkIdType AddPlot(vtkPlot *plot) override
Adds a plot to the chart.
bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) override
Mouse button release event.
static void MakeSelection(vtkAnnotationLink *link, vtkIdTypeArray *selectionIds, vtkPlot *plot)
Populate the annotation link with the supplied selectionIds array, and set the appropriate node prope...
virtual vtkIdType AddPlot(vtkPlot *plot, unsigned int blockIndex)
Adds a plot to the chart holding data specific to a block in a vtkMultiBlockDataSet.
vtkIdType GetNumberOfPlots() override
Get the number of plots the chart contains.
vtkIdType GetNumberOfAxes() override
Get the number of axes in the current chart.
virtual void SetTooltipInfo(const vtkContextMouseEvent &, const vtkVector2d &, vtkIdType, vtkPlot *, vtkIdType segmentIndex=-1)
Set the information passed to the tooltip.
bool RemovePlot(vtkIdType index) override
Remove the plot at the specified index, returns true if successful, false if the index was invalid.
vtkChartLegend * GetLegend() override
Get the vtkChartLegend object that will be displayed by the chart.
vtkPlot * AddPlot(int type) override
Add a plot to the chart, defaults to using the name of the y column.
void Update() override
Perform any updates to the item that may be necessary before rendering.
virtual vtkIdType GetPlotIndex(vtkPlot *)
Get the index of the specified plot, returns -1 if the plot does not belong to the chart.
bool Hit(const vtkContextMouseEvent &mouse) override
Return true if the supplied x, y coordinate is inside the item.
vtkIdType RaisePlot(vtkPlot *plot)
Raises the plot to the top of the plot's stack.
static void AddSelection(vtkIdTypeArray *selection, vtkIdTypeArray *oldSelection)
Add the supplied selection from the oldSelection.
static void BuildSelection(int selectionMode, MapIndexToIds &selection, const MapIndexToIds &oldSelection)
Build a selection based on the supplied selectionMode using the new plotSelection and combining it wi...
static void MakeSelection(vtkAnnotationLink *link, const MapIndexToIds &selection)
Populate the selection node in the annotation link coressponding to the give node with the supplied s...
vtkPlot * GetPlot(vtkIdType index) override
Get the plot at the specified index, returns null if the index is invalid.
const std::vector< vtkContextTransform * > & GetTransforms() const
Get the vector of vtkContextTransform.
static vtkChartXY * New()
Creates a 2D Chart object.
bool MouseEnterEvent(const vtkContextMouseEvent &mouse) override
Mouse enter event.
bool KeyPressEvent(const vtkContextKeyEvent &key) override
Key press event.
void SetSelectionMethod(int method) override
Set the selection method, which controls how selections are handled by the chart.
static void BuildSelection(vtkAnnotationLink *link, int selectionMode, vtkIdTypeArray *plotSelection, vtkIdTypeArray *oldSelection, vtkPlot *plot)
Build a selection based on the supplied selectionMode using the new plotSelection and combining it wi...
void RecalculateBounds() override
Request that the chart recalculates the range of its axes.
void RemovePlotSelections()
Remove all the selection from Plots.
virtual vtkPlot * AddPlot(int type, unsigned int blockIndex)
Adds a plot to the chart holding data specific to a block in a vtkMultiBlockDataSet.
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
void SetAxisZoom(int index, bool v)
Set the behavior of the mouse wheel for individual axes.
virtual vtkIdType StackPlotAbove(vtkPlot *plot, vtkPlot *under)
Raises the plot above the under plot.
virtual vtkTooltipItem * GetTooltip()
Get the vtkTooltipItem object that will be displayed by the chart.
void ClearPlots() override
Remove all plots from the chart.
static void ToggleSelection(vtkIdTypeArray *selection, vtkIdTypeArray *oldSelection)
Toggle the supplied selection from the oldSelection.
bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) override
Mouse wheel event, positive delta indicates forward movement of the wheel.
bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) override
Mouse button down event.
int GetPlotCorner(vtkPlot *plot)
Figure out which quadrant the plot is in.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetShowLegend(bool visible) override
Set whether the chart should draw a legend.
void SetPlotCorner(vtkPlot *plot, int corner)
Figure out which quadrant the plot is in.
void SetAxis(int axisIndex, vtkAxis *) override
Set the axis specified by axisIndex.
virtual void SetTooltip(vtkTooltipItem *tooltip)
Set the vtkTooltipItem object that will be displayed by the chart.
bool Paint(vtkContext2D *painter) override
Paint event for the chart, called whenever the chart needs to be drawn.
std::map< unsigned int, vtkSmartPointer< vtkIdTypeArray > > MapIndexToIds
vtkIdType LowerPlot(vtkPlot *plot)
Lowers the plot to the bottom of the plot's stack.
static void MinusSelection(vtkIdTypeArray *selection, vtkIdTypeArray *oldSelection)
Subtract the supplied selection from the oldSelection.
bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) override
Mouse leave event.
bool GetAxisZoom(int index)
Set the behavior of the mouse wheel for individual axes.
Factory class for drawing 2D charts.
Class for drawing 2D primitives to a graphical context.
data structure to represent key events.
data structure to represent mouse events.
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Composite dataset that organizes datasets into blocks.
takes care of drawing the plot grid
Abstract class for 2D plots.
Hold a reference to a vtkObjectBase instance.
Wrapper around std::string to keep symbols short.
Some derived classes for the different vectors commonly used.
Small struct used by InvokeEvent to send some information about the point that was clicked on.
vtkVector2i ScreenPosition
#define VTK_DEPRECATED_IN_9_6_0(reason)