VTK  9.4.20250303
vtkPlotHistogram2D.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
12#ifndef vtkPlotHistogram2D_h
13#define vtkPlotHistogram2D_h
14
15#include "vtkChartsCoreModule.h" // For export macro
16#include "vtkNew.h" // For vtkNew
17#include "vtkPlot.h"
18#include "vtkRect.h" // Needed for vtkRectf
19#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
20
21#include <string> // Needed for std::string
22
23VTK_ABI_NAMESPACE_BEGIN
24
25class vtkDoubleArray;
26class vtkImageData;
28
29class VTKCHARTSCORE_EXPORT VTK_MARSHALAUTO vtkPlotHistogram2D : public vtkPlot
30{
31public:
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
39
45 void Update() override;
46
50 bool Paint(vtkContext2D* painter) override;
51
56 virtual void SetInputData(vtkImageData* data, vtkIdType z = 0);
57 void SetInputData(vtkTable*) override {}
58 void SetInputData(vtkTable*, const vtkStdString&, const vtkStdString&) override {}
59
64
70
75
76 void GetBounds(double bounds[4]) override;
77
78 virtual void SetPosition(const vtkRectf& pos);
80
82
87 vtkSetMacro(ArrayName, std::string);
88 vtkGetMacro(ArrayName, std::string);
90
108 const vtkVector2d& plotPos, vtkIdType seriesIndex, vtkIdType segmentIndex) override;
109
118 vtkIdType GetNearestPoint(const vtkVector2f& point, const vtkVector2f& tolerance,
119 vtkVector2f* location, vtkIdType* segmentId) override;
121
128 bool UpdateCache() override;
129
130protected:
133
138
139private:
140 vtkPlotHistogram2D(const vtkPlotHistogram2D&) = delete;
141 void operator=(const vtkPlotHistogram2D&) = delete;
142
147 static vtkIdType GetLabelIndexFromValue(double value, vtkAxis* axis);
152 static inline bool CanComputeMagnitude(vtkDataArray* array);
153
158 inline vtkDataArray* GetSelectedArray();
164 void* GetInputArrayPointer(vtkDataArray*& inputArray);
171 double GetInputArrayValue(int x, int y, int z);
172
173 std::string ArrayName;
174 vtkNew<vtkDoubleArray> MagnitudeArray;
175};
176
177VTK_ABI_NAMESPACE_END
178#endif // vtkPlotHistogram2D_h
takes care of drawing 2D axes
Definition vtkAxis.h:171
Class for drawing 2D primitives to a graphical context.
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of double
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
Allocate and hold a VTK object.
Definition vtkNew.h:167
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.
bool Paint(vtkContext2D *painter) override
Paint event for the item, called whenever it needs to be drawn.
vtkImageData * GetInputImageData()
Get the input table used by the plot.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSmartPointer< vtkImageData > Output
void Update() override
Perform any updates to the item that may be necessary before rendering.
virtual vtkRectf GetPosition()
~vtkPlotHistogram2D() override
bool UpdateCache() override
Update the internal cache.
vtkScalarsToColors * GetTransferFunction()
Get the color transfer function that is used to generate the histogram.
void SetInputData(vtkTable *, const vtkStdString &, const vtkStdString &) override
This is a convenience function to set the input table and the x, y column for the plot.
vtkStdString GetTooltipLabel(const vtkVector2d &plotPos, vtkIdType seriesIndex, vtkIdType segmentIndex) override
Generate and return the tooltip label string for this plot The segmentIndex parameter is ignored.
virtual void SetInputData(vtkImageData *data, vtkIdType z=0)
Set the input.
void SetInputData(vtkTable *) override
This is a convenience function to set the input table and the x, y column for the plot.
static vtkPlotHistogram2D * New()
Creates a new object.
void SetTransferFunction(vtkScalarsToColors *transfer)
Set the color transfer function that will be used to generate the 2D histogram.
virtual void SetPosition(const vtkRectf &pos)
vtkSmartPointer< vtkImageData > Input
void GetBounds(double bounds[4]) override
Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
vtkSmartPointer< vtkScalarsToColors > TransferFunction
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.
Superclass for mapping scalar values to colors.
Hold a reference to a vtkObjectBase instance.
Wrapper around std::string to keep symbols short.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:169
int vtkIdType
Definition vtkType.h:332
#define VTK_MARSHALAUTO