VTK  9.4.20250114
vtkParallelCoordinatesHistogramRepresentation.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2009 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
39#ifndef vtkParallelCoordinatesHistogramRepresentation_h
40#define vtkParallelCoordinatesHistogramRepresentation_h
41
43#include "vtkViewsInfovisModule.h" // For export macro
44
45VTK_ABI_NAMESPACE_BEGIN
50class vtkLookupTable;
51
54{
55public:
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
63 void ApplyViewTheme(vtkViewTheme* theme) override;
64
66
70 vtkGetMacro(UseHistograms, vtkTypeBool);
71 vtkBooleanMacro(UseHistograms, vtkTypeBool);
73
75
79 vtkGetMacro(ShowOutliers, vtkTypeBool);
80 vtkBooleanMacro(ShowOutliers, vtkTypeBool);
82
84
87 vtkSetVector2Macro(HistogramLookupTableRange, double);
88 vtkGetVector2Macro(HistogramLookupTableRange, double);
90
92
97 vtkGetVector2Macro(NumberOfHistogramBins, int);
99
101
105 vtkGetMacro(PreferredNumberOfOutliers, int);
107
112 int SwapAxisPositions(int position1, int position2) override;
113
118 int SetRangeAtPosition(int position, double range[2]) override;
119
120protected:
123
125
126 bool AddToView(vtkView* view) override;
127
128 bool RemoveFromView(vtkView* view) override;
129
134
138 double HistogramLookupTableRange[2];
139
143 int NumberOfHistogramBins[2];
144
147
152
157
162
167 int PlaceLines(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) override;
168
173 int PlaceCurves(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) override;
174
179 vtkPolyData* polyData, vtkTable* data, vtkSelectionNode* selectionNode) override;
180
184 virtual int PlaceHistogramLineQuads(vtkPolyData* polyData);
185
190 virtual int PlaceHistogramCurveQuads(vtkPolyData* polyData);
191
193
197 int ComputeDataProperties() override;
200
206
211
212private:
215 void operator=(const vtkParallelCoordinatesHistogramRepresentation&) = delete;
216};
217
218VTK_ABI_NAMESPACE_END
219#endif
compute the outliers in a set of 2D histograms and extract the corresponding row data.
compute a 2D histogram between two columns of an input vtkTable.
dynamic, self-adjusting array of vtkIdType
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
map scalar values into colors via a lookup table
compute a 2D histogram between all adjacent columns of an input vtkTable.
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
int PlaceCurves(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot) override
Correctly forwards the superclass call to draw curves to the internal PlaceHistogramLineCurves call.
vtkTypeBool UseHistograms
Flag deciding if histograms will be drawn.
int PreferredNumberOfOutliers
How many outlier lines to draw, approximately.
void SetNumberOfHistogramBins(int *)
The number of histogram bins on either side of each pair of axes.
int ComputeDataProperties() override
Compute the number of axes and their individual ranges, as well as histograms if requested.
void ApplyViewTheme(vtkViewTheme *theme) override
Apply the theme to this view.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int SwapAxisPositions(int position1, int position2) override
Calls superclass swap, and assures that only histograms affected by the swap get recomputed.
bool AddToView(vtkView *view) override
int SetRangeAtPosition(int position, double range[2]) override
Calls the superclass method, and assures that only the two histograms affect by this call get recompu...
void SetPreferredNumberOfOutliers(int)
Target maximum number of outliers to be drawn, although not guaranteed.
int PlaceLines(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot) override
Correctly forwards the superclass call to draw lines to the internal PlaceHistogramLineQuads call.
bool RemoveFromView(vtkView *view) override
int PlaceSelection(vtkPolyData *polyData, vtkTable *data, vtkSelectionNode *selectionNode) override
Draw a selection node referencing the row ids of a table into a poly data object.
static vtkParallelCoordinatesHistogramRepresentation * New()
int UpdatePlotProperties(vtkStringArray *) override
Compute the number of axes and their individual ranges, as well as histograms if requested.
virtual vtkTable * GetOutlierData()
get the table containing just the outlier rows from the input table.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses should override this to connect inputs to the internal pipeline as necessary.
void SetNumberOfHistogramBins(int, int)
The number of histogram bins on either side of each pair of axes.
virtual int PlaceHistogramLineQuads(vtkPolyData *polyData)
Take the input 2D histogram images and draw one quad for each bin.
virtual vtkImageData * GetHistogramImage(int idx)
Access the input data object containing the histograms and pull out the image data for the idx'th his...
virtual void SetUseHistograms(vtkTypeBool)
Whether to use the histogram rendering mode or the superclass's line rendering mode.
virtual void SetShowOutliers(vtkTypeBool)
Whether to compute and show outlier lines.
virtual int PlaceHistogramCurveQuads(vtkPolyData *polyData)
Take the input 2D histogram images and draw one triangle strip that is the curved version of the regu...
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
concrete dataset represents vertices, lines, polygons, and triangle strips
a node in a vtkSelection the defines the selection criteria.
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
A table, which contains similar-typed columns of data.
Definition vtkTable.h:169
Sets theme colors for a graphical view.
The superclass for all views.
Definition vtkView.h:50
int vtkTypeBool
Definition vtkABI.h:64