VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkChartPie.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 00026 #ifndef vtkChartPie_h 00027 #define vtkChartPie_h 00028 00029 #include "vtkChartsCoreModule.h" // For export macro 00030 #include "vtkChart.h" 00031 00032 class vtkChartLegend; 00033 class vtkTooltipItem; 00034 class vtkChartPiePrivate; 00035 00036 class VTKCHARTSCORE_EXPORT vtkChartPie : public vtkChart 00037 { 00038 public: 00039 vtkTypeMacro(vtkChartPie, vtkChart); 00040 virtual void PrintSelf(ostream &os, vtkIndent indent); 00041 00043 static vtkChartPie *New(); 00044 00048 virtual void Update(); 00049 00052 virtual bool Paint(vtkContext2D *painter); 00053 00055 virtual vtkPlot * AddPlot(int type); 00056 00058 00060 virtual vtkIdType AddPlot(vtkPlot* plot) 00061 { return Superclass::AddPlot(plot); } 00063 00066 virtual vtkPlot* GetPlot(vtkIdType index); 00067 00069 virtual vtkIdType GetNumberOfPlots(); 00070 00072 virtual void SetShowLegend(bool visible); 00073 00076 virtual vtkChartLegend * GetLegend(); 00077 00080 virtual void SetScene(vtkContextScene *scene); 00081 00082 //BTX 00084 virtual bool Hit(const vtkContextMouseEvent &mouse); 00085 00087 virtual bool MouseEnterEvent(const vtkContextMouseEvent &mouse); 00088 00090 virtual bool MouseMoveEvent(const vtkContextMouseEvent &mouse); 00091 00093 virtual bool MouseLeaveEvent(const vtkContextMouseEvent &mouse); 00094 00096 virtual bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse); 00097 00099 virtual bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse); 00100 00102 00104 virtual bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta); 00105 //ETX 00107 00108 //BTX 00109 protected: 00110 vtkChartPie(); 00111 ~vtkChartPie(); 00112 00114 void RecalculatePlotTransforms(); 00115 00117 vtkChartLegend *Legend; 00118 00121 vtkTooltipItem *Tooltip; 00122 00124 bool PlotTransformValid; 00125 00126 private: 00127 vtkChartPie(const vtkChartPie &); // Not implemented. 00128 void operator=(const vtkChartPie &); // Not implemented. 00129 00131 bool LocatePointInPlots(const vtkContextMouseEvent &mouse); 00132 00134 vtkChartPiePrivate *Private; 00135 00136 //ETX 00137 }; 00138 00139 #endif //vtkChartPie_h