VTK
vtkPlotBar.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPlotBar.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 
28 #ifndef vtkPlotBar_h
29 #define vtkPlotBar_h
30 
31 #include "vtkChartsCoreModule.h" // For export macro
32 #include "vtkPlot.h"
33 #include "vtkSmartPointer.h" // Needed to hold ColorSeries
34 
35 class vtkContext2D;
36 class vtkTable;
37 class vtkPoints2D;
38 class vtkStdString;
39 class vtkColorSeries;
41 class vtkScalarsToColors;
42 
43 class vtkPlotBarPrivate;
44 
45 class VTKCHARTSCORE_EXPORT vtkPlotBar : public vtkPlot
46 {
47 public:
48  vtkTypeMacro(vtkPlotBar, vtkPlot);
49  virtual void PrintSelf(ostream &os, vtkIndent indent);
50 
54  enum {
55  VERTICAL = 0,
56  HORIZONTAL
57  };
58 
62  static vtkPlotBar *New();
63 
67  virtual void Update();
68 
72  virtual bool Paint(vtkContext2D *painter);
73 
80  virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
81  int legendIndex);
82 
84 
87  virtual void SetColor(unsigned char r, unsigned char g, unsigned char b,
88  unsigned char a);
89  virtual void SetColor(double r, double g, double b);
90  virtual void GetColor(double rgb[3]);
92 
94 
97  vtkSetMacro(Width, float);
99 
101 
104  vtkGetMacro(Width, float);
106 
108 
114  vtkSetMacro(Offset, float);
115  vtkGetMacro(Offset, float);
117 
119 
123  virtual void SetOrientation(int orientation);
124  vtkGetMacro(Orientation, int);
126 
130  virtual void GetBounds(double bounds[4], bool unscaled);
131 
135  virtual void GetBounds(double bounds[4]);
136 
140  virtual void GetUnscaledInputBounds(double bounds[4]);
141 
145  virtual void SetInputArray(int index, const vtkStdString &name);
146 
150  void SetColorSeries(vtkColorSeries *colorSeries);
151 
156 
158 
161  virtual void SetLookupTable(vtkScalarsToColors *lut);
164 
169  virtual void CreateDefaultLookupTable();
170 
172 
175  vtkSetMacro(ScalarVisibility, bool);
176  vtkGetMacro(ScalarVisibility, bool);
177  vtkBooleanMacro(ScalarVisibility, bool);
179 
181 
186  void SelectColorArray(vtkIdType arrayNum);
187  void SelectColorArray(const vtkStdString& arrayName);
189 
194 
199 
203  virtual void SetGroupName(const vtkStdString& name);
204 
209 
214  virtual vtkStdString GetTooltipLabel(const vtkVector2d &plotPos,
215  vtkIdType seriesIndex,
216  vtkIdType segmentIndex);
217 
221  virtual bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max);
222 
229  const vtkVector2f& tolerance,
231 
240  const vtkVector2f&,
242  vtkIdType* segmentIndex);
243 
248 
252  void GetDataBounds(double bounds[2]);
253 
254 protected:
257 
262 
267 
268  float Width;
269  float Offset;
270 
272 
277 
282 
284 
292 
293  bool LogX;
294  bool LogY;
295 
296 private:
297  vtkPlotBar(const vtkPlotBar &) VTK_DELETE_FUNCTION;
298  void operator=(const vtkPlotBar &) VTK_DELETE_FUNCTION;
299 
300  vtkPlotBarPrivate *Private;
301 
302 };
303 
304 #endif //vtkPlotBar_h
vtkPlotBar::SetColorSeries
void SetColorSeries(vtkColorSeries *colorSeries)
Set the color series to use if this becomes a stacked bar plot.
vtkPoints2D
represent and manipulate 2D points
Definition: vtkPoints2D.h:37
vtkPlotBar::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
vtkPlotBar::GetUnscaledInputBounds
virtual void GetUnscaledInputBounds(double bounds[4])
Get un-log-scaled bounds for this mapper as (Xmin,Xmax,Ymin,Ymax).
vtkPlot.h
vtkIdType
int vtkIdType
Definition: vtkType.h:287
vtkPlotBar::ScalarVisibility
bool ScalarVisibility
Definition: vtkPlotBar.h:289
vtkPlotBar::Update
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:69
vtkColorSeries
stores a list of colors.
Definition: vtkColorSeries.h:55
vtkPlotBar::ColorArrayName
vtkStdString ColorArrayName
Definition: vtkPlotBar.h:290
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:36
vtkPlotBar::Offset
float Offset
Definition: vtkPlotBar.h:269
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:42
vtkPlotBar::SelectColorArray
void SelectColorArray(vtkIdType arrayNum)
When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which array to use f...
vtkPlotBar::GetDataBounds
void GetDataBounds(double bounds[2])
Get the data bounds for this mapper as (Xmin,Xmax).
vtkSmartPointer< vtkColorSeries >
vtkPlotBar::GetColorArrayName
vtkStdString GetColorArrayName()
Get the array name to color by.
vtkContext2D
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:58
vtkPlot
Abstract class for 2D plots.
Definition: vtkPlot.h:53
vtkPlotBar::LogX
bool LogX
Definition: vtkPlotBar.h:293
vtkPlotBar::Points
vtkPoints2D * Points
Store a well packed set of XY coordinates for this data series.
Definition: vtkPlotBar.h:266
max
#define max(a, b)
Definition: vtkX3DExporterFIWriterHelper.h:31
vtkVector2d
Definition: vtkVector.h:347
vtkPlotBar::ColorSeries
vtkSmartPointer< vtkColorSeries > ColorSeries
The color series to use if this becomes a stacked bar.
Definition: vtkPlotBar.h:281
vtkPlotBar::LookupTable
vtkSmartPointer< vtkScalarsToColors > LookupTable
Lookup Table for coloring bars by scalar value.
Definition: vtkPlotBar.h:287
vtkPlotBar
Class for drawing an XY plot given two columns from a vtkTable.
Definition: vtkPlotBar.h:46
vtkX3D::point
@ point
Definition: vtkX3D.h:236
vtkPlotBar::SetInputArray
virtual void SetInputArray(int index, const vtkStdString &name)
When used to set additional arrays, stacked bars are created.
vtkPlotBar::GetNearestPoint
virtual vtkIdType GetNearestPoint(const vtkVector2f &point, const vtkVector2f &tolerance, vtkVector2f *location)
Function to query a plot for the nearest point to the specified coordinate.
vtkPlotBar::GetColorSeries
vtkColorSeries * GetColorSeries()
Get the color series used if when this is a stacked bar plot.
vtkPlotBar::CreateDefaultLookupTable
virtual void CreateDefaultLookupTable()
Create default lookup table.
vtkPlotBar::Colors
vtkSmartPointer< vtkUnsignedCharArray > Colors
Definition: vtkPlotBar.h:288
vtkPlotBar::BuildTime
vtkTimeStamp BuildTime
The point cache is marked dirty until it has been initialized.
Definition: vtkPlotBar.h:276
vtkPlotBar::LogY
bool LogY
Definition: vtkPlotBar.h:294
vtkPlotBar::Width
float Width
Definition: vtkPlotBar.h:268
vtkPlotBar::GetLabels
virtual vtkStringArray * GetLabels()
Get the plot labels.
vtkPlotBar::~vtkPlotBar
~vtkPlotBar()
vtkPlotBar::Paint
virtual bool Paint(vtkContext2D *painter)
Paint event for the XY plot, called whenever the chart needs to be drawn.
vtkPlotBar::GetColor
virtual void GetColor(double rgb[3])
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkPlotBar::SelectPoints
virtual bool SelectPoints(const vtkVector2f &min, const vtkVector2f &max)
Select all points in the specified rectangle.
vtkSmartPointer.h
vtkPlotBar::PaintLegend
virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf &rect, int legendIndex)
Paint legend event for the XY plot, called whenever the legend needs the plot items symbol/mark/line ...
vtkScalarsToColors
Superclass for mapping scalar values to colors.
Definition: vtkScalarsToColors.h:67
vtkX3D::name
@ name
Definition: vtkX3D.h:219
vtkPlotBar::SetColor
virtual void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Set the plot color.
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkPlotBar::UpdateTableCache
bool UpdateTableCache(vtkTable *table)
Update the table cache.
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkPlotBar::GetBarsCount
int GetBarsCount()
Get amount of plotted bars.
vtkPlotBar::New
static vtkPlotBar * New()
Creates a 2D Chart object.
vtkX3D::orientation
@ orientation
Definition: vtkX3D.h:262
vtkPlotBar::SetLookupTable
virtual void SetLookupTable(vtkScalarsToColors *lut)
Specify a lookup table for the mapper to use.
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:43
vtkX3D::location
@ location
Definition: vtkX3D.h:406
vtkPlotBar::SetOrientation
virtual void SetOrientation(int orientation)
Set/get the orientation of the bars.
vtkPlotBar::GetBounds
virtual void GetBounds(double bounds[4])
Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax).
vtkPlotBar::GetNearestPoint
virtual vtkIdType GetNearestPoint(const vtkVector2f &point, const vtkVector2f &, vtkVector2f *location, vtkIdType *segmentIndex)
Function to query a plot for the nearest point to the specified coordinate.
vtkPlotBar::GetTooltipLabel
virtual vtkStdString GetTooltipLabel(const vtkVector2d &plotPos, vtkIdType seriesIndex, vtkIdType segmentIndex)
Generate and return the tooltip label string for this plot The segmentIndex is implemented here.
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
vtkPlotBar::Orientation
int Orientation
Definition: vtkPlotBar.h:271
vtkPlotBar::SetGroupName
virtual void SetGroupName(const vtkStdString &name)
Set the group name of the bar chart - can be displayed on the X axis.
vtkPlotBar::GetLookupTable
virtual vtkScalarsToColors * GetLookupTable()
vtkX3D::index
@ index
Definition: vtkX3D.h:246
vtkPlotBar::GetBounds
virtual void GetBounds(double bounds[4], bool unscaled)
A helper used by both GetUnscaledBounds and GetBounds(double[4]).
vtkPlotBar::SelectColorArray
void SelectColorArray(const vtkStdString &arrayName)
vtkRectf
Definition: vtkRect.h:297
vtkPlotBar::vtkPlotBar
vtkPlotBar()
vtkVector2f
Definition: vtkVector.h:338
vtkPlotBar::SetColor
virtual void SetColor(double r, double g, double b)
vtkPlotBar::GetGroupName
virtual vtkStdString GetGroupName()
Get the group name of the bar char - can be displayed on the X axis.