VTK
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 
58 #include "vtkViewsInfovisModule.h" // For export macro
60 
65 class vtkLookupTable;
66 
68 {
69 public:
72  void PrintSelf(ostream& os, vtkIndent indent);
73 
77  virtual void ApplyViewTheme(vtkViewTheme* theme);
78 
80 
83  virtual void SetUseHistograms(int);
84  vtkGetMacro(UseHistograms,int);
85  vtkBooleanMacro(UseHistograms,int);
87 
89 
92  virtual void SetShowOutliers(int);
93  vtkGetMacro(ShowOutliers,int);
94  vtkBooleanMacro(ShowOutliers,int);
96 
98 
101  vtkSetVector2Macro(HistogramLookupTableRange,double);
102  vtkGetVector2Macro(HistogramLookupTableRange,double);
104 
106 
111  vtkGetVector2Macro(NumberOfHistogramBins,int);
113 
115 
119  vtkGetMacro(PreferredNumberOfOutliers,int);
121 
126  virtual int SwapAxisPositions(int position1, int position2);
127 
132  virtual int SetRangeAtPosition(int position, double range[2]);
133 
134 protected:
137 
138  virtual int RequestData(
142 
143  virtual bool AddToView(vtkView* view);
144 
145  virtual bool RemoveFromView(vtkView* view);
146 
151 
155  double HistogramLookupTableRange[2];
156 
160  int NumberOfHistogramBins[2];
161 
164 
169 
174 
179 
184  virtual int PlaceLines(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot);
185 
190  virtual int PlaceCurves(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot);
191 
195  virtual int PlaceSelection(vtkPolyData* polyData, vtkTable* data, vtkSelectionNode* selectionNode);
196 
200  virtual int PlaceHistogramLineQuads(vtkPolyData* polyData);
201 
206  virtual int PlaceHistogramCurveQuads(vtkPolyData* polyData);
207 
209 
213  virtual int ComputeDataProperties();
216 
221  virtual vtkImageData* GetHistogramImage(int idx);
222 
227 
228 private:
230  void operator=(const vtkParallelCoordinatesHistogramRepresentation&) VTK_DELETE_FUNCTION;
231 };
232 
233 #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
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
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 PreferredNumberOfOutliers
How many outlier lines to draw, approximately.
vtkSmartPointer< vtkComputeHistogram2DOutliers > OutlierFilter
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual int SwapAxisPositions(int position1, int position2)
Calls superclass swap, and assures that only histograms affected by the swap get recomputed.
virtual int PlaceSelection(vtkPolyData *polyData, vtkTable *data, vtkSelectionNode *selectionNode)
Draw a selection node referencing the row ids of a table into a poly data object.
virtual int PlaceCurves(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot)
Correctly forwards the superclass call to draw curves to the internal PlaceHistogramLineCurves call.
void SetPreferredNumberOfOutliers(int)
Target maximum number of outliers to be drawn, although not guaranteed.
virtual bool RemoveFromView(vtkView *view)
virtual void SetUseHistograms(int)
Whether to use the histogram rendering mode or the superclass's line rendering mode.
virtual bool AddToView(vtkView *view)
Add/remove the props and actors to/from a view.
virtual int UpdatePlotProperties(vtkStringArray *)
Set plot actor properties (line thickness, opacity, etc)
virtual void ApplyViewTheme(vtkViewTheme *theme)
Apply the theme to this view.
virtual int PlaceLines(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot)
Correctly forwards the superclass call to draw lines to the internal PlaceHistogramLineQuads call.
void SetNumberOfHistogramBins(int, int)
The number of histogram bins on either side of each pair of axes.
vtkSmartPointer< vtkPairwiseExtractHistogram2D > HistogramFilter
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 int PlaceHistogramLineQuads(vtkPolyData *polyData)
Take the input 2D histogram images and draw one quad for each bin.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Subclasses should override this to connect inputs to the internal pipeline as necessary.
static vtkParallelCoordinatesHistogramRepresentation * New()
virtual vtkTable * GetOutlierData()
get the table containing just the outlier rows from the input table.
virtual int ComputeDataProperties()
Compute the number of axes and their individual ranges, as well as histograms if requested.
virtual int SetRangeAtPosition(int position, double range[2])
Calls the superclass method, and assures that only the two histograms affect by this call get recompu...
virtual int PlaceHistogramCurveQuads(vtkPolyData *polyData)
Take the input 2D histogram images and draw one triangle strip that is the curved version of the regu...
virtual void SetShowOutliers(int)
Whether to compute and show outlier lines.
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
A node in a selection tree.
a vtkAbstractArray subclass for strings
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:69
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:49
The superclass for all views.
Definition: vtkView.h:61
@ range
Definition: vtkX3D.h:238
@ position
Definition: vtkX3D.h:261
@ data
Definition: vtkX3D.h:315
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.