VTK  9.0.1
vtkParallelCoordinatesHistogramRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkParallelCoordinatesHistogramRepresentation.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2009 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
55 #ifndef vtkParallelCoordinatesHistogramRepresentation_h
56 #define vtkParallelCoordinatesHistogramRepresentation_h
57 
59 #include "vtkViewsInfovisModule.h" // For export macro
60 
65 class vtkLookupTable;
66 
69 {
70 public:
73  void PrintSelf(ostream& os, vtkIndent indent) override;
74 
78  void ApplyViewTheme(vtkViewTheme* theme) override;
79 
81 
85  vtkGetMacro(UseHistograms, vtkTypeBool);
86  vtkBooleanMacro(UseHistograms, vtkTypeBool);
88 
90 
94  vtkGetMacro(ShowOutliers, vtkTypeBool);
95  vtkBooleanMacro(ShowOutliers, vtkTypeBool);
97 
99 
102  vtkSetVector2Macro(HistogramLookupTableRange, double);
103  vtkGetVector2Macro(HistogramLookupTableRange, double);
105 
107 
110  void SetNumberOfHistogramBins(int, int);
112  vtkGetVector2Macro(NumberOfHistogramBins, int);
114 
116 
120  vtkGetMacro(PreferredNumberOfOutliers, int);
122 
127  int SwapAxisPositions(int position1, int position2) override;
128 
133  int SetRangeAtPosition(int position, double range[2]) override;
134 
135 protected:
138 
140 
141  bool AddToView(vtkView* view) override;
142 
143  bool RemoveFromView(vtkView* view) override;
144 
149 
153  double HistogramLookupTableRange[2];
154 
158  int NumberOfHistogramBins[2];
159 
162 
167 
172 
177 
182  int PlaceLines(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) override;
183 
188  int PlaceCurves(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) override;
189 
194  vtkPolyData* polyData, vtkTable* data, vtkSelectionNode* selectionNode) override;
195 
199  virtual int PlaceHistogramLineQuads(vtkPolyData* polyData);
200 
205  virtual int PlaceHistogramCurveQuads(vtkPolyData* polyData);
206 
208 
212  int ComputeDataProperties() override;
215 
220  virtual vtkImageData* GetHistogramImage(int idx);
221 
226 
227 private:
230  void operator=(const vtkParallelCoordinatesHistogramRepresentation&) = delete;
231 };
232 
233 #endif
vtkParallelCoordinatesHistogramRepresentation::~vtkParallelCoordinatesHistogramRepresentation
~vtkParallelCoordinatesHistogramRepresentation() override
vtkParallelCoordinatesRepresentation
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
Definition: vtkParallelCoordinatesRepresentation.h:86
vtkSelectionNode
A node in a selection tree.
Definition: vtkSelectionNode.h:62
vtkParallelCoordinatesHistogramRepresentation::RemoveFromView
bool RemoveFromView(vtkView *view) override
vtkParallelCoordinatesHistogramRepresentation::OutlierActor
vtkSmartPointer< vtkActor2D > OutlierActor
Definition: vtkParallelCoordinatesHistogramRepresentation.h:176
vtkComputeHistogram2DOutliers
compute the outliers in a set of 2D histograms and extract the corresponding row data.
Definition: vtkComputeHistogram2DOutliers.h:63
vtkParallelCoordinatesHistogramRepresentation::UseHistograms
vtkTypeBool UseHistograms
Flag deciding if histograms will be drawn.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:148
vtkX3D::data
@ data
Definition: vtkX3D.h:321
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:63
vtkParallelCoordinatesHistogramRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPairwiseExtractHistogram2D
compute a 2D histogram between all adjacent columns of an input vtkTable.
Definition: vtkPairwiseExtractHistogram2D.h:58
vtkX3D::range
@ range
Definition: vtkX3D.h:244
vtkSmartPointer< vtkPairwiseExtractHistogram2D >
vtkParallelCoordinatesHistogramRepresentation::PlaceSelection
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.
vtkParallelCoordinatesHistogramRepresentation::SetUseHistograms
virtual void SetUseHistograms(vtkTypeBool)
Whether to use the histogram rendering mode or the superclass's line rendering mode.
vtkParallelCoordinatesHistogramRepresentation::SwapAxisPositions
int SwapAxisPositions(int position1, int position2) override
Calls superclass swap, and assures that only histograms affected by the swap get recomputed.
vtkParallelCoordinatesHistogramRepresentation::UpdatePlotProperties
int UpdatePlotProperties(vtkStringArray *) override
Set plot actor properties (line thickness, opacity, etc)
vtkParallelCoordinatesRepresentation.h
vtkParallelCoordinatesHistogramRepresentation::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses should override this to connect inputs to the internal pipeline as necessary.
vtkView
The superclass for all views.
Definition: vtkView.h:55
vtkViewTheme
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:43
vtkParallelCoordinatesHistogramRepresentation::vtkParallelCoordinatesHistogramRepresentation
vtkParallelCoordinatesHistogramRepresentation()
vtkX3D::position
@ position
Definition: vtkX3D.h:267
vtkParallelCoordinatesHistogramRepresentation::ShowOutliers
vtkTypeBool ShowOutliers
Whether or not to draw outlier lines.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:166
vtkExtractHistogram2D
compute a 2D histogram between two columns of an input vtkTable.
Definition: vtkExtractHistogram2D.h:59
vtkParallelCoordinatesHistogramRepresentation::SetPreferredNumberOfOutliers
void SetPreferredNumberOfOutliers(int)
Target maximum number of outliers to be drawn, although not guaranteed.
vtkParallelCoordinatesHistogramRepresentation::PlaceHistogramCurveQuads
virtual int PlaceHistogramCurveQuads(vtkPolyData *polyData)
Take the input 2D histogram images and draw one triangle strip that is the curved version of the regu...
vtkParallelCoordinatesHistogramRepresentation::HistogramFilter
vtkSmartPointer< vtkPairwiseExtractHistogram2D > HistogramFilter
Definition: vtkParallelCoordinatesHistogramRepresentation.h:160
vtkParallelCoordinatesHistogramRepresentation::SetRangeAtPosition
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...
vtkParallelCoordinatesHistogramRepresentation::New
static vtkParallelCoordinatesHistogramRepresentation * New()
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkParallelCoordinatesHistogramRepresentation::PlaceHistogramLineQuads
virtual int PlaceHistogramLineQuads(vtkPolyData *polyData)
Take the input 2D histogram images and draw one quad for each bin.
vtkParallelCoordinatesHistogramRepresentation::GetHistogramImage
virtual vtkImageData * GetHistogramImage(int idx)
Access the input data object containing the histograms and pull out the image data for the idx'th his...
vtkParallelCoordinatesHistogramRepresentation::OutlierData
vtkSmartPointer< vtkPolyData > OutlierData
Definition: vtkParallelCoordinatesHistogramRepresentation.h:174
vtkParallelCoordinatesHistogramRepresentation::OutlierFilter
vtkSmartPointer< vtkComputeHistogram2DOutliers > OutlierFilter
Definition: vtkParallelCoordinatesHistogramRepresentation.h:173
vtkParallelCoordinatesHistogramRepresentation::PlaceCurves
int PlaceCurves(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot) override
Correctly forwards the superclass call to draw curves to the internal PlaceHistogramLineCurves call.
vtkParallelCoordinatesHistogramRepresentation::ApplyViewTheme
void ApplyViewTheme(vtkViewTheme *theme) override
Apply the theme to this view.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:65
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:69
vtkParallelCoordinatesHistogramRepresentation::SetNumberOfHistogramBins
void SetNumberOfHistogramBins(int, int)
The number of histogram bins on either side of each pair of axes.
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:36
vtkParallelCoordinatesHistogramRepresentation::SetShowOutliers
virtual void SetShowOutliers(vtkTypeBool)
Whether to compute and show outlier lines.
vtkParallelCoordinatesHistogramRepresentation::ComputeDataProperties
int ComputeDataProperties() override
Compute the number of axes and their individual ranges, as well as histograms if requested.
vtkParallelCoordinatesHistogramRepresentation::PlaceLines
int PlaceLines(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot) override
Correctly forwards the superclass call to draw lines to the internal PlaceHistogramLineQuads call.
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkParallelCoordinatesHistogramRepresentation::HistogramLookupTable
vtkSmartPointer< vtkLookupTable > HistogramLookupTable
Definition: vtkParallelCoordinatesHistogramRepresentation.h:161
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:37
vtkParallelCoordinatesHistogramRepresentation
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:69
vtkParallelCoordinatesHistogramRepresentation::OutlierMapper
vtkSmartPointer< vtkPolyDataMapper2D > OutlierMapper
Definition: vtkParallelCoordinatesHistogramRepresentation.h:175
vtkParallelCoordinatesHistogramRepresentation::GetOutlierData
virtual vtkTable * GetOutlierData()
get the table containing just the outlier rows from the input table.
vtkParallelCoordinatesHistogramRepresentation::AddToView
bool AddToView(vtkView *view) override
vtkParallelCoordinatesHistogramRepresentation::SetNumberOfHistogramBins
void SetNumberOfHistogramBins(int *)
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkParallelCoordinatesHistogramRepresentation::PreferredNumberOfOutliers
int PreferredNumberOfOutliers
How many outlier lines to draw, approximately.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:171