VTK
vtkPlotFunctionalBag.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPlotFunctionalBag.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 
32 #ifndef vtkPlotFunctionalBag_h
33 #define vtkPlotFunctionalBag_h
34 
35 #include "vtkChartsCoreModule.h" // For export macro
36 #include "vtkPlot.h"
37 #include "vtkNew.h" // Needed to hold SP ivars
38 
39 class vtkDataArray;
40 class vtkPlotFuntionalBagInternal;
41 class vtkPlotLine;
42 class vtkPoints2D;
43 class vtkScalarsToColors;
44 
45 class VTKCHARTSCORE_EXPORT vtkPlotFunctionalBag : public vtkPlot
46 {
47 public:
48  vtkTypeMacro(vtkPlotFunctionalBag, vtkPlot);
49  void PrintSelf(ostream &os, vtkIndent indent) override;
50 
54  static vtkPlotFunctionalBag *New();
55 
60  virtual bool IsBag();
61 
65  bool GetVisible() override;
66 
72  void Update() override;
73 
77  bool Paint(vtkContext2D *painter) override;
78 
85  bool PaintLegend(vtkContext2D *painter, const vtkRectf& rect,
86  int legendIndex) override;
87 
91  void GetBounds(double bounds[4]) override;
92 
97  void GetUnscaledInputBounds(double bounds[4]) override;
98 
100 
103  void SetLookupTable(vtkScalarsToColors *lut);
104  vtkScalarsToColors *GetLookupTable();
106 
111  virtual void CreateDefaultLookupTable();
112 
119  const vtkVector2f& tolerance,
120  vtkVector2f* location) override;
121 
125  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) override;
126 
130  bool SelectPointsInPolygon(const vtkContextPolygon &polygon) override;
131 
132 protected:
134  ~vtkPlotFunctionalBag() override;
135 
139  bool GetDataArrays(vtkTable *table, vtkDataArray *array[2]);
140 
144  bool UpdateTableCache(vtkTable*);
145 
150 
155 
160 
165 
166  bool LogX, LogY;
167 
168 private:
169  vtkPlotFunctionalBag(const vtkPlotFunctionalBag &) = delete;
170  void operator=(const vtkPlotFunctionalBag &) = delete;
171 };
172 
173 #endif //vtkPlotFunctionalBag_h
Class for drawing an XY line plot or bag given two columns from a vtkTable.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual bool PaintLegend(vtkContext2D *painter, const vtkRectf &rect, int legendIndex)
Paint legend event for the plot, called whenever the legend needs the plot items symbol/mark/line dra...
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
record modification and/or execution time
Definition: vtkTimeStamp.h:32
virtual void GetBounds(double bounds[4])
Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
Definition: vtkPlot.h:330
vtkScalarsToColors * LookupTable
Lookup Table for coloring points by scalar value.
int vtkIdType
Definition: vtkType.h:347
vtkNew< vtkPoints2D > BagPoints
The bag points ordered in quadstrip fashion.
vtkTimeStamp BuildTime
The cache is marked dirty until it has been initialized.
Superclass for mapping scalar values to colors.
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:52
virtual bool SelectPoints(const vtkVector2f &min, const vtkVector2f &max)
Select all points in the specified rectangle.
a simple class to control print indentation
Definition: vtkIndent.h:33
represent and manipulate 2D points
Definition: vtkPoints2D.h:33
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:48
Abstract class for 2D plots.
Definition: vtkPlot.h:46
virtual vtkIdType GetNearestPoint(const vtkVector2f &point, const vtkVector2f &tolerance, vtkVector2f *location)
Function to query a plot for the nearest point to the specified coordinate.
virtual bool SelectPointsInPolygon(const vtkContextPolygon &polygon)
Select all points in the specified polygon.
vtkNew< vtkPlotLine > Line
The plot line delegate for line series.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:62
virtual void GetUnscaledInputBounds(double bounds[4])
Provide un-log-scaled bounds for the plot inputs.
Definition: vtkPlot.h:357
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Class for drawing an XY line plot given two columns from a vtkTable.
Definition: vtkPlotLine.h:31
virtual bool GetVisible()
Get the visibility of the item (should it be drawn).
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
#define max(a, b)