VTK  9.1.0
vtkChartPie.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkChartPie.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15
24#ifndef vtkChartPie_h
25#define vtkChartPie_h
26
27#include "vtkChart.h"
28#include "vtkChartsCoreModule.h" // For export macro
29
30class vtkChartLegend;
31class vtkTooltipItem;
32class vtkChartPiePrivate;
33
34class VTKCHARTSCORE_EXPORT vtkChartPie : public vtkChart
35{
36public:
37 vtkTypeMacro(vtkChartPie, vtkChart);
38 void PrintSelf(ostream& os, vtkIndent indent) override;
39
43 static vtkChartPie* New();
44
50 void Update() override;
51
55 bool Paint(vtkContext2D* painter) override;
56
60 vtkPlot* AddPlot(int type) override;
61
65 vtkIdType AddPlot(vtkPlot* plot) override { return Superclass::AddPlot(plot); }
66
70 vtkPlot* GetPlot(vtkIdType index) override;
71
76
80 void SetShowLegend(bool visible) override;
81
87
91 void SetScene(vtkContextScene* scene) override;
92
96 bool Hit(const vtkContextMouseEvent& mouse) override;
97
101 bool MouseEnterEvent(const vtkContextMouseEvent& mouse) override;
102
106 bool MouseMoveEvent(const vtkContextMouseEvent& mouse) override;
107
111 bool MouseLeaveEvent(const vtkContextMouseEvent& mouse) override;
112
116 bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) override;
117
122
126 bool MouseWheelEvent(const vtkContextMouseEvent& mouse, int delta) override;
127
128protected:
130 ~vtkChartPie() override;
131
136
141
146
151
152private:
153 vtkChartPie(const vtkChartPie&) = delete;
154 void operator=(const vtkChartPie&) = delete;
155
159 bool LocatePointInPlots(const vtkContextMouseEvent& mouse);
160
164 vtkChartPiePrivate* Private;
165};
166
167#endif // vtkChartPie_h
draw the chart legend
Factory class for drawing pie charts.
Definition: vtkChartPie.h:35
static vtkChartPie * New()
Creates a 2D Chart object.
bool PlotTransformValid
Does the plot area transform need to be recalculated?
Definition: vtkChartPie.h:150
bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) override
Mouse leave event.
vtkPlot * GetPlot(vtkIdType index) override
Get the plot at the specified index, returns null if the index is invalid.
bool Paint(vtkContext2D *painter) override
Paint event for the chart, called whenever the chart needs to be drawn.
void Update() override
Perform any updates to the item that may be necessary before rendering.
void SetShowLegend(bool visible) override
Set whether the chart should draw a legend.
void RecalculatePlotTransforms()
Recalculate the necessary transforms.
vtkPlot * AddPlot(int type) override
Add a plot to the chart.
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) override
Mouse button down event.
bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) override
Mouse button release event.
bool Hit(const vtkContextMouseEvent &mouse) override
Return true if the supplied x, y coordinate is inside the item.
vtkIdType GetNumberOfPlots() override
Get the number of plots the chart contains.
~vtkChartPie() override
vtkChartLegend * Legend
The legend for the chart.
Definition: vtkChartPie.h:140
bool MouseEnterEvent(const vtkContextMouseEvent &mouse) override
Mouse enter event.
void SetScene(vtkContextScene *scene) override
Set the vtkContextScene for the item, always set for an item in a scene.
vtkIdType AddPlot(vtkPlot *plot) override
Add a plot to the chart.
Definition: vtkChartPie.h:65
vtkTooltipItem * Tooltip
The tooltip item for the chart - can be used to display extra information.
Definition: vtkChartPie.h:145
vtkChartLegend * GetLegend() override
Get the legend for the chart, if available.
bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) override
Mouse wheel event, positive delta indicates forward movement of the wheel.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Factory class for drawing 2D charts.
Definition: vtkChart.h:45
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:54
data structure to represent mouse events.
Provides a 2D scene for vtkContextItem objects.
a simple class to control print indentation
Definition: vtkIndent.h:34
Abstract class for 2D plots.
Definition: vtkPlot.h:48
takes care of drawing 2D axes
int vtkIdType
Definition: vtkType.h:332