VTK  9.3.20240419
vtkPlotFunctionalBag.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
42 #ifndef vtkPlotFunctionalBag_h
43 #define vtkPlotFunctionalBag_h
44 
45 #include "vtkChartsCoreModule.h" // For export macro
46 #include "vtkNew.h" // Needed to hold SP ivars
47 #include "vtkPlot.h"
48 
49 VTK_ABI_NAMESPACE_BEGIN
50 class vtkDataArray;
51 class vtkPlotFuntionalBagInternal;
52 class vtkPlotLine;
53 class vtkPoints2D;
54 class vtkScalarsToColors;
55 
56 class VTKCHARTSCORE_EXPORT vtkPlotFunctionalBag : public vtkPlot
57 {
58 public:
59  vtkTypeMacro(vtkPlotFunctionalBag, vtkPlot);
60  void PrintSelf(ostream& os, vtkIndent indent) override;
61 
66 
71  virtual bool IsBag();
72 
76  bool GetVisible() override;
77 
81  bool Paint(vtkContext2D* painter) override;
82 
89  bool PaintLegend(vtkContext2D* painter, const vtkRectf& rect, int legendIndex) override;
90 
94  void GetBounds(double bounds[4]) override;
95 
100  void GetUnscaledInputBounds(double bounds[4]) override;
101 
103 
109 
114  virtual void CreateDefaultLookupTable();
115 
122  vtkVector2f* location, vtkIdType* segmentId) override;
124 
128  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) override;
129 
133  bool SelectPointsInPolygon(const vtkContextPolygon& polygon) override;
134 
141  bool UpdateCache() override;
142 
143 protected:
146 
150  bool GetDataArrays(vtkTable* table, vtkDataArray* array[2]);
151 
155  bool CacheRequiresUpdate() override;
156 
161 
166 
171 
172  bool LogX, LogY;
173 
174 private:
176  void operator=(const vtkPlotFunctionalBag&) = delete;
177 };
178 
179 VTK_ABI_NAMESPACE_END
180 #endif // vtkPlotFunctionalBag_h
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:69
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:155
a simple class to control print indentation
Definition: vtkIndent.h:108
Class for drawing an XY line plot or bag given two columns from a vtkTable.
bool PaintLegend(vtkContext2D *painter, const vtkRectf &rect, int legendIndex) override
Paint legend event for the plot, called whenever the legend needs the plot items symbol/mark/line dra...
static vtkPlotFunctionalBag * New()
Creates a functional bag plot object.
~vtkPlotFunctionalBag() override
vtkScalarsToColors * LookupTable
Lookup Table for coloring points by scalar value.
void GetUnscaledInputBounds(double bounds[4]) override
Get the non-log-scaled bounds on chart inputs for this plot as (Xmin, Xmax, Ymin, Ymax).
bool GetDataArrays(vtkTable *table, vtkDataArray *array[2])
Populate the data arrays ready to operate on input data.
bool SelectPoints(const vtkVector2f &min, const vtkVector2f &max) override
Select all points in the specified rectangle.
virtual bool IsBag()
Returns true if the plot is a functional bag, false if it is a simple line.
void GetBounds(double bounds[4]) override
Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
void SetLookupTable(vtkScalarsToColors *lut)
Specify a lookup table for the mapper to use.
bool SelectPointsInPolygon(const vtkContextPolygon &polygon) override
Select all points in the specified polygon.
virtual void CreateDefaultLookupTable()
Create default lookup table.
bool UpdateCache() override
Update the internal cache.
bool Paint(vtkContext2D *painter) override
Paint event for the plot, called whenever the chart needs to be drawn.
vtkIdType GetNearestPoint(const vtkVector2f &point, const vtkVector2f &tolerance, vtkVector2f *location, vtkIdType *segmentId) override
Function to query a plot for the nearest point to the specified coordinate.
vtkNew< vtkPoints2D > BagPoints
The bag points ordered in quadstrip fashion.
vtkScalarsToColors * GetLookupTable()
Specify a lookup table for the mapper to use.
bool GetVisible() override
Reimplemented to enforce visibility when selected.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool CacheRequiresUpdate() override
Test if the internal cache requires an update.
vtkNew< vtkPlotLine > Line
The plot line delegate for line series.
Class for drawing an XY line plot given two columns from a vtkTable.
Definition: vtkPlotLine.h:24
Abstract class for 2D plots.
Definition: vtkPlot.h:153
virtual vtkIdType GetNearestPoint(const vtkVector2f &point, const vtkVector2f &tolerance, vtkVector2f *location, vtkIdType *segmentId)
Function to query a plot for the nearest point to the specified coordinate.
represent and manipulate 2D points
Definition: vtkPoints2D.h:27
Superclass for mapping scalar values to colors.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:168
@ point
Definition: vtkX3D.h:236
@ location
Definition: vtkX3D.h:406
int vtkIdType
Definition: vtkType.h:315
#define max(a, b)