VTK  9.3.1
vtkPlotStacked.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 
16 #ifndef vtkPlotStacked_h
17 #define vtkPlotStacked_h
18 
19 #include "vtkChartsCoreModule.h" // For export macro
20 #include "vtkPlot.h"
21 
22 VTK_ABI_NAMESPACE_BEGIN
23 class vtkChartXY;
24 class vtkContext2D;
25 class vtkTable;
26 class vtkPoints2D;
27 class vtkStdString;
28 class vtkImageData;
29 class vtkColorSeries;
30 
31 class vtkPlotStackedPrivate;
32 
33 class VTKCHARTSCORE_EXPORT vtkPlotStacked : public vtkPlot
34 {
35 public:
36  vtkTypeMacro(vtkPlotStacked, vtkPlot);
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
42  static vtkPlotStacked* New();
43 
47  void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a) override;
48 
50 
53  void SetColorF(double r, double g, double b, double a) override;
54  void SetColorF(double r, double g, double b) override;
55 
56  VTK_DEPRECATED_IN_9_3_0("Please use unambiguous SetColorF method instead.")
57  void SetColor(double r, double g, double b) override { this->SetColorF(r, g, b); };
59 
61 
64  void GetColorF(double rgb[3]) override;
65 
66  VTK_DEPRECATED_IN_9_3_0("Please use unambiguous GetColorF method instead.")
67  void GetColor(double rgb[3]) override { this->GetColorF(rgb); };
69 
73  bool Paint(vtkContext2D* painter) override;
74 
81  bool PaintLegend(vtkContext2D* painter, const vtkRectf& rect, int legendIndex) override;
82 
86  void GetBounds(double bounds[4]) override;
87 
92  void GetUnscaledInputBounds(double bounds[4]) override;
93 
97  void SetInputArray(int index, const vtkStdString& name) override;
98 
102  void SetColorSeries(vtkColorSeries* colorSeries);
103 
107  vtkColorSeries* GetColorSeries();
108 
112  vtkStringArray* GetLabels() override;
113 
119  vtkIdType GetNearestPoint(const vtkVector2f& point, const vtkVector2f& tolerance,
120  vtkVector2f* location, vtkIdType* segmentId) override;
122 
126  bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) override;
127 
134  bool UpdateCache() override;
135 
136 protected:
137  vtkPlotStacked();
138  ~vtkPlotStacked() override;
139 
143  bool CacheRequiresUpdate() override;
144 
145  // Descript:
146  // For stacked plots the Extent data must be greater than (or equal to) the
147  // base data. Ensure that this is true
148  void FixExtent();
149 
154  void CalculateLogSeries();
155 
161 
167 
168  bool LogX, LogY;
169 
174 
175 private:
176  vtkPlotStacked(const vtkPlotStacked&) = delete;
177  void operator=(const vtkPlotStacked&) = delete;
178 
179  vtkPlotStackedPrivate* Private;
180 };
181 
182 VTK_ABI_NAMESPACE_END
183 #endif // vtkPlotStacked_h
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:28
vtkSmartPointer< vtkColorSeries > ColorSeries
The color series to use for each series.
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 void SetColorF(double r, double g, double b, double a)
Set the plot color with floating values (comprised between 0.0 and 1.0)
virtual bool Paint(vtkContext2D *painter)
Paint event for the item, called whenever the item needs to be drawn.
virtual void GetBounds(double bounds[4])
Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
Definition: vtkPlot.h:367
vtkIdTypeArray * ExtentBadPoints
An array containing the indices of all the "bad extent points", meaning any x, y pair that has an inf...
a vtkAbstractArray subclass for strings
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.
dynamic, self-adjusting array of vtkIdType
int vtkIdType
Definition: vtkType.h:315
virtual void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Set the plot color with integer values (comprised between 0 and 255)
virtual void GetColorF(double rgb[3])
Get the plot color as floating rgb values (comprised between 0.0 and 1.0)
#define VTK_DEPRECATED_IN_9_3_0(reason)
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:49
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:28
represent and manipulate 2D points
Definition: vtkPoints2D.h:25
virtual vtkStringArray * GetLabels()
Get the plot labels.
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
virtual bool UpdateCache()
Update the internal cache.
Definition: vtkPlot.h:429
Abstract class for 2D plots.
Definition: vtkPlot.h:43
Class for drawing an stacked polygon plot given an X, Ybase, Yextent in a vtkTable.
Factory class for drawing XY charts.
Definition: vtkChartXY.h:47
virtual bool CacheRequiresUpdate()
Test if the internal cache requires an update.
virtual void SetInputArray(int index, const vtkStdString &name)
Convenience function to set the input arrays.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:58
stores a list of colors.
virtual void GetUnscaledInputBounds(double bounds[4])
Provide un-log-scaled bounds for the plot inputs.
Definition: vtkPlot.h:393
vtkIdTypeArray * BaseBadPoints
An array containing the indices of all the "bad base points", meaning any x, y pair that has an infin...
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
#define max(a, b)