VTK  9.4.20241224
vtkPlotPoints.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
73#ifndef vtkPlotPoints_h
74#define vtkPlotPoints_h
75
76#include "vtkChartsCoreModule.h" // For export macro
77#include "vtkNew.h" // For ivars
78#include "vtkPlot.h"
79#include "vtkRenderingCoreEnums.h" // For marker enum
80#include "vtkScalarsToColors.h" // For VTK_COLOR_MODE_DEFAULT and _MAP_SCALARS
81#include "vtkStdString.h" // For color array name
82#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
83
84VTK_ABI_NAMESPACE_BEGIN
85class vtkCharArray;
86class vtkContext2D;
87class vtkTable;
88class vtkPoints2D;
89class vtkFloatArray;
90class vtkImageData;
93
94class VTKCHARTSCORE_EXPORT VTK_MARSHALAUTO vtkPlotPoints : public vtkPlot
95{
96public:
97 vtkTypeMacro(vtkPlotPoints, vtkPlot);
98 void PrintSelf(ostream& os, vtkIndent indent) override;
99
104
108 bool Paint(vtkContext2D* painter) override;
109
116 bool PaintLegend(vtkContext2D* painter, const vtkRectf& rect, int legendIndex) override;
117
121 void GetBounds(double bounds[4]) override;
122
126 void GetUnscaledInputBounds(double bounds[4]) override;
127
129
135
141
143
146 vtkSetMacro(ScalarVisibility, vtkTypeBool);
147 vtkGetMacro(ScalarVisibility, vtkTypeBool);
148 vtkBooleanMacro(ScalarVisibility, vtkTypeBool);
150
152
158 void SelectColorArray(const vtkStdString& arrayName);
160
165
171 vtkIdType GetNearestPoint(const vtkVector2f& point, const vtkVector2f& tolerance,
172 vtkVector2f* location, vtkIdType* segmentId) override;
174
178 bool SelectPoints(const vtkVector2f& min, const vtkVector2f& max) override;
179
183 bool SelectPointsInPolygon(const vtkContextPolygon& polygon) override;
184
188 enum
189 {
195 DIAMOND = VTK_MARKER_DIAMOND
196 };
197
199
203 vtkGetMacro(MarkerStyle, int);
204 vtkSetMacro(MarkerStyle, int);
206
208
212 vtkGetMacro(MarkerSize, float);
213 vtkSetMacro(MarkerSize, float);
215
217
220 vtkGetMacro(ValidPointMaskName, vtkStdString);
221 vtkSetMacro(ValidPointMaskName, vtkStdString);
223
230 bool UpdateCache() override;
231
232 void ReleaseGraphicsCache() override;
233
234protected:
236 ~vtkPlotPoints() override;
237
241 bool GetDataArrays(vtkTable* table, vtkDataArray* array[2]);
242
246 bool CacheRequiresUpdate() override;
247
252
258
265
269 void CalculateBounds(double bounds[4]);
270
275
277
283
285
288 class VectorPIMPL;
289 VectorPIMPL* Sorted;
291
297
303
308
310
316
317 bool LogX, LogY;
318
320
328
332 double UnscaledInputBounds[4];
333
334private:
335 vtkPlotPoints(const vtkPlotPoints&) = delete;
336 void operator=(const vtkPlotPoints&) = delete;
337};
338
339VTK_ABI_NAMESPACE_END
340#endif // vtkPlotPoints_h
dynamic, self-adjusting array of char
Class for drawing 2D primitives to a graphical context.
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of float
dynamic, self-adjusting array of vtkIdType
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
Class for drawing an points given two columns from a vtkTable.
void CalculateLogSeries()
Handle calculating the log of the x or y series if necessary.
int MarkerStyle
The marker style that should be used.
virtual void CreateDefaultLookupTable()
Create default lookup table.
void GetUnscaledInputBounds(double bounds[4]) override
Get the non-log-scaled bounds on chart inputs for this plot as (Xmin, Xmax, Ymin, Ymax).
void SelectColorArray(const vtkStdString &arrayName)
When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which array to use f...
void CalculateUnscaledInputBounds()
Calculate the unscaled input bounds from the input arrays.
float MarkerSize
The marker style that should be used.
void ReleaseGraphicsCache() override
Release cache entries created by this context item.
void FindBadPoints()
Find all of the "bad points" in the series.
bool GetDataArrays(vtkTable *table, vtkDataArray *array[2])
Populate the data arrays ready to operate on input data.
bool PaintLegend(vtkContext2D *painter, const vtkRectf &rect, int legendIndex) override
Paint legend event for the XY plot, called whenever the legend needs the plot items symbol/mark/line ...
vtkTypeBool ScalarVisibility
Lookup Table for coloring points by scalar value.
vtkStdString ColorArrayName
Lookup Table for coloring points by scalar value.
bool UpdateCache() override
Update the internal cache.
void GetBounds(double bounds[4]) override
Get the bounds for this plot as (Xmin, Xmax, Ymin, Ymax).
~vtkPlotPoints() override
void SetLookupTable(vtkScalarsToColors *lut)
Specify a lookup table for the mapper to use.
vtkIdTypeArray * BadPoints
An array containing the indices of all the "bad points", meaning any x, y pair that has an infinity,...
bool SelectPoints(const vtkVector2f &min, const vtkVector2f &max) override
Select all points in the specified rectangle.
void SelectColorArray(vtkIdType arrayNum)
When ScalarMode is set to UsePointFieldData or UseCellFieldData, you can specify which array to use f...
vtkUnsignedCharArray * Colors
Lookup Table for coloring points by scalar value.
bool CacheRequiresUpdate() override
Test if the internal cache requires an update.
vtkPoints2D * Points
Store a well packed set of XY coordinates for this data series.
VectorPIMPL * Sorted
vtkStdString ValidPointMaskName
Name of the valid point mask array.
bool Paint(vtkContext2D *painter) override
Paint event for the XY plot, called whenever the chart needs to be drawn.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CalculateBounds(double bounds[4])
Calculate the bounds of the plot, ignoring the bad points.
bool SelectPointsInPolygon(const vtkContextPolygon &polygon) override
Select all points in the specified polygon.
vtkNew< vtkFloatArray > SelectedPoints
Store a well packed set of XY coordinates for this data series.
void CreateSortedPoints()
Create the sorted point list if necessary.
vtkCharArray * ValidPointMask
Array which marks valid points in the array.
static vtkPlotPoints * New()
Creates a 2D Chart object.
vtkStdString GetColorArrayName()
Get the array name to color by.
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.
vtkScalarsToColors * LookupTable
Lookup Table for coloring points by scalar value.
vtkScalarsToColors * GetLookupTable()
Specify a lookup table for the mapper to use.
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.
Wrapper around std::string to keep symbols short.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:169
dynamic, self-adjusting array of unsigned char
int vtkTypeBool
Definition vtkABI.h:64
@ VTK_MARKER_DIAMOND
@ VTK_MARKER_SQUARE
@ VTK_MARKER_PLUS
@ VTK_MARKER_CROSS
@ VTK_MARKER_CIRCLE
@ VTK_MARKER_NONE
int vtkIdType
Definition vtkType.h:315
#define VTK_MARSHALAUTO
#define max(a, b)