00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00026 #ifndef __vtkPlot_h
00027 #define __vtkPlot_h
00028
00029 #include "vtkContextItem.h"
00030
00031 class vtkVariant;
00032 class vtkTable;
00033 class vtkIdTypeArray;
00034 class vtkContextMapper2D;
00035 class vtkPen;
00036 class vtkBrush;
00037 class vtkAxis;
00038 class vtkVector2f;
00039
00040 class VTK_CHARTS_EXPORT vtkPlot : public vtkContextItem
00041 {
00042 public:
00043 vtkTypeMacro(vtkPlot, vtkContextItem);
00044 virtual void PrintSelf(ostream &os, vtkIndent indent);
00045
00051 virtual bool PaintLegend(vtkContext2D *painter, float rect[4]);
00052
00053
00055
00057 virtual bool GetNearestPoint(const vtkVector2f& point,
00058 const vtkVector2f& tolerance,
00059 vtkVector2f* location);
00061
00062 virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
00063
00064
00066
00067 virtual void SetColor(unsigned char r, unsigned char g, unsigned char b,
00068 unsigned char a);
00069 virtual void SetColor(double r, double g, double b);
00070 virtual void GetColor(double rgb[3]);
00072
00074 virtual void SetWidth(float width);
00075
00077 virtual float GetWidth();
00078
00080
00082 vtkGetObjectMacro(Pen, vtkPen);
00084
00086
00088 vtkGetObjectMacro(Brush, vtkBrush);
00090
00092
00093 vtkSetStringMacro(Label);
00095
00097 const char* GetLabel();
00098
00100
00101 vtkGetObjectMacro(Data, vtkContextMapper2D);
00103
00105
00108 vtkGetMacro(UseIndexForXSeries, bool);
00110
00112
00115 vtkSetMacro(UseIndexForXSeries, bool);
00117
00119
00121 virtual void SetInput(vtkTable *table);
00122 virtual void SetInput(vtkTable *table, const char *xColumn,
00123 const char *yColumn);
00124 void SetInput(vtkTable *table, vtkIdType xColumn, vtkIdType yColumn);
00126
00128 virtual vtkTable* GetInput();
00129
00133 virtual void SetInputArray(int index, const char *name);
00134
00135 virtual void SetSelection(vtkIdTypeArray *id);
00136 vtkGetObjectMacro(Selection, vtkIdTypeArray);
00137
00139
00140 vtkGetObjectMacro(XAxis, vtkAxis);
00141 virtual void SetXAxis(vtkAxis* axis);
00143
00145
00146 vtkGetObjectMacro(YAxis, vtkAxis);
00147 virtual void SetYAxis(vtkAxis* axis);
00149
00150 virtual void GetBounds(double bounds[4])
00151 { bounds[0] = bounds[1] = bounds[2] = bounds[3] = 0.0; }
00152
00153
00155
00157 void SetProperty(const char *property, vtkVariant *var);
00158 vtkVariant GetProperty(const char *property);
00160
00161
00162
00163 protected:
00164 vtkPlot();
00165 ~vtkPlot();
00166
00168 vtkPen* Pen;
00169
00171 vtkBrush* Brush;
00172
00174 char *Label;
00175
00179 bool UseIndexForXSeries;
00180
00183 vtkContextMapper2D *Data;
00184
00186 vtkIdTypeArray *Selection;
00187
00189 vtkAxis* XAxis;
00190
00192 vtkAxis* YAxis;
00193
00194 private:
00195 vtkPlot(const vtkPlot &);
00196 void operator=(const vtkPlot &);
00197
00198
00199 };
00200
00201 #endif //__vtkPlot_h