VTK  9.3.1
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 
45 VTK_ABI_NAMESPACE_BEGIN
50 class vtkLookupTable;
51 
54 {
55 public:
58  void PrintSelf(ostream& os, vtkIndent indent) override;
59 
63  void ApplyViewTheme(vtkViewTheme* theme) override;
64 
66 
69  virtual void SetUseHistograms(vtkTypeBool);
70  vtkGetMacro(UseHistograms, vtkTypeBool);
71  vtkBooleanMacro(UseHistograms, vtkTypeBool);
73 
75 
78  virtual void SetShowOutliers(vtkTypeBool);
79  vtkGetMacro(ShowOutliers, vtkTypeBool);
80  vtkBooleanMacro(ShowOutliers, vtkTypeBool);
82 
84 
87  vtkSetVector2Macro(HistogramLookupTableRange, double);
88  vtkGetVector2Macro(HistogramLookupTableRange, double);
90 
92 
95  void SetNumberOfHistogramBins(int, int);
96  void SetNumberOfHistogramBins(int*);
97  vtkGetVector2Macro(NumberOfHistogramBins, int);
99 
101 
104  void SetPreferredNumberOfOutliers(int);
105  vtkGetMacro(PreferredNumberOfOutliers, int);
107 
112  int SwapAxisPositions(int position1, int position2) override;
113 
118  int SetRangeAtPosition(int position, double range[2]) override;
119 
120 protected:
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 
178  int PlaceSelection(
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;
198  int UpdatePlotProperties(vtkStringArray*) override;
200 
205  virtual vtkImageData* GetHistogramImage(int idx);
206 
210  virtual vtkTable* GetOutlierData();
211 
212 private:
215  void operator=(const vtkParallelCoordinatesHistogramRepresentation&) = delete;
216 };
217 
218 VTK_ABI_NAMESPACE_END
219 #endif
a node in a vtkSelection the defines the selection criteria.
int PreferredNumberOfOutliers
How many outlier lines to draw, approximately.
vtkSmartPointer< vtkComputeHistogram2DOutliers > OutlierFilter
Store vtkAlgorithm input/output information.
map scalar values into colors via a lookup table
static vtkParallelCoordinatesRepresentation * New()
vtkTypeBool ShowOutliers
Whether or not to draw outlier lines.
a vtkAbstractArray subclass for strings
bool RemoveFromView(vtkView *view) override
Add/remove the props and actors to/from a view.
dynamic, self-adjusting array of vtkIdType
virtual int ComputeDataProperties()
Compute the number of axes and their individual ranges.
virtual int PlaceCurves(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot)
Place line primitives into a vtkPolyData from the input data.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
virtual int SwapAxisPositions(int position1, int position2)
Move an axis to a particular screen position.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses should override this to connect inputs to the internal pipeline as necessary.
int vtkTypeBool
Definition: vtkABI.h:64
vtkTypeBool UseHistograms
Flag deciding if histograms will be drawn.
void ApplyViewTheme(vtkViewTheme *theme) override
Apply the theme to this view.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:33
virtual int UpdatePlotProperties(vtkStringArray *inputTitles)
Set plot actor properties (line thickness, opacity, etc)
The superclass for all views.
Definition: vtkView.h:48
a simple class to control print indentation
Definition: vtkIndent.h:28
compute a 2D histogram between two columns of an input vtkTable.
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
vtkSmartPointer< vtkPairwiseExtractHistogram2D > HistogramFilter
Data representation that takes generic multivariate data and produces a parallel coordinates plot...
bool AddToView(vtkView *view) override
Add/remove the props and actors to/from a view.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:58
virtual int PlaceSelection(vtkPolyData *polyData, vtkTable *data, vtkSelectionNode *selectionNode)
Takes the selection list (assumed to be a vtkIdTypeArray) from a vtkSelectionNode and plots lines/cur...
Store zero or more vtkInformation instances.
virtual int SetRangeAtPosition(int position, double range[2])
Set/get the value range of the axis at a particular screen position.
compute a 2D histogram between all adjacent columns of an input vtkTable.
virtual int PlaceLines(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot)
Place line primitives into a vtkPolyData from the input data.
Data representation that takes generic multivariate data and produces a parallel coordinates plot...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
compute the outliers in a set of 2D histograms and extract the corresponding row data.