VTK  9.2.6
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 
46 #ifndef vtkChartPie_h
47 #define vtkChartPie_h
48 
49 #include "vtkChart.h"
50 #include "vtkChartsCoreModule.h" // For export macro
51 
52 class vtkChartLegend;
53 class vtkTooltipItem;
54 class vtkChartPiePrivate;
55 class vtkPlotPie;
56 
57 class VTKCHARTSCORE_EXPORT vtkChartPie : public vtkChart
58 {
59 public:
60  vtkTypeMacro(vtkChartPie, vtkChart);
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
66  static vtkChartPie* New();
67 
73  void Update() override;
74 
78  bool Paint(vtkContext2D* painter) override;
79 
83  vtkPlot* AddPlot(int type) override;
84 
89  virtual void SetPlot(vtkPlotPie* plot);
90 
95 
100 
104  void SetShowLegend(bool visible) override;
105 
111 
115  void SetScene(vtkContextScene* scene) override;
116 
120  bool Hit(const vtkContextMouseEvent& mouse) override;
121 
125  bool MouseEnterEvent(const vtkContextMouseEvent& mouse) override;
126 
130  bool MouseMoveEvent(const vtkContextMouseEvent& mouse) override;
131 
135  bool MouseLeaveEvent(const vtkContextMouseEvent& mouse) override;
136 
140  bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) override;
141 
145  bool MouseButtonReleaseEvent(const vtkContextMouseEvent& mouse) override;
146 
150  bool MouseWheelEvent(const vtkContextMouseEvent& mouse, int delta) override;
151 
152 protected:
154  ~vtkChartPie() override;
155 
160 
165 
170 
175 
176 private:
177  vtkChartPie(const vtkChartPie&) = delete;
178  void operator=(const vtkChartPie&) = delete;
179 
183  bool LocatePointInPlots(const vtkContextMouseEvent& mouse);
184 
188  vtkChartPiePrivate* Private;
189 };
190 
191 #endif // vtkChartPie_h
draw the chart legend
Factory class for drawing pie charts.
Definition: vtkChartPie.h:58
bool PlotTransformValid
Does the plot area transform need to be recalculated?
Definition: vtkChartPie.h:174
vtkPlot * GetPlot(vtkIdType index) override
Get the plot at the specified index, returns null if the index is invalid.
bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) override
Mouse leave event.
vtkPlot * AddPlot(int type) override
Add a plot to the chart.
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.
vtkChartLegend * GetLegend() override
Get the legend for the chart, if available.
bool MouseMoveEvent(const vtkContextMouseEvent &mouse) override
Mouse move event.
static vtkChartPie * New()
Creates a 2D Chart object.
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:164
bool MouseEnterEvent(const vtkContextMouseEvent &mouse) override
Mouse enter event.
virtual void SetPlot(vtkPlotPie *plot)
Set plot to use for the chart.
void SetScene(vtkContextScene *scene) override
Set the vtkContextScene for the item, always set for an item in a scene.
vtkTooltipItem * Tooltip
The tooltip item for the chart - can be used to display extra information.
Definition: vtkChartPie.h:169
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:52
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:77
data structure to represent mouse events.
Provides a 2D scene for vtkContextItem objects.
a simple class to control print indentation
Definition: vtkIndent.h:119
Class for drawing a Pie diagram.
Definition: vtkPlotPie.h:59
Abstract class for 2D plots.
Definition: vtkPlot.h:163
takes care of drawing 2D axes
@ type
Definition: vtkX3D.h:522
@ index
Definition: vtkX3D.h:252
int vtkIdType
Definition: vtkType.h:332