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) override;
73 
77  void ApplyViewTheme(vtkViewTheme* theme) override;
78 
80 
83  virtual void SetUseHistograms(vtkTypeBool);
84  vtkGetMacro(UseHistograms,vtkTypeBool);
85  vtkBooleanMacro(UseHistograms,vtkTypeBool);
87 
89 
92  virtual void SetShowOutliers(vtkTypeBool);
93  vtkGetMacro(ShowOutliers,vtkTypeBool);
94  vtkBooleanMacro(ShowOutliers,vtkTypeBool);
96 
98 
101  vtkSetVector2Macro(HistogramLookupTableRange,double);
102  vtkGetVector2Macro(HistogramLookupTableRange,double);
104 
106 
109  void SetNumberOfHistogramBins(int,int);
110  void SetNumberOfHistogramBins(int*);
111  vtkGetVector2Macro(NumberOfHistogramBins,int);
113 
115 
118  void SetPreferredNumberOfOutliers(int);
119  vtkGetMacro(PreferredNumberOfOutliers,int);
121 
126  int SwapAxisPositions(int position1, int position2) override;
127 
132  int SetRangeAtPosition(int position, double range[2]) override;
133 
134 protected:
137 
138  int RequestData(
141  vtkInformationVector*) override;
142 
143  bool AddToView(vtkView* view) override;
144 
145  bool RemoveFromView(vtkView* view) override;
146 
151 
155  double HistogramLookupTableRange[2];
156 
160  int NumberOfHistogramBins[2];
161 
164 
169 
174 
179 
184  int PlaceLines(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) override;
185 
190  int PlaceCurves(vtkPolyData* polyData, vtkTable* data, vtkIdTypeArray* idsToPlot) override;
191 
195  int PlaceSelection(vtkPolyData* polyData, vtkTable* data, vtkSelectionNode* selectionNode) override;
196 
200  virtual int PlaceHistogramLineQuads(vtkPolyData* polyData);
201 
206  virtual int PlaceHistogramCurveQuads(vtkPolyData* polyData);
207 
209 
213  int ComputeDataProperties() override;
214  int UpdatePlotProperties(vtkStringArray*) override;
216 
221  virtual vtkImageData* GetHistogramImage(int idx);
222 
226  virtual vtkTable* GetOutlierData();
227 
228 private:
230  void operator=(const vtkParallelCoordinatesHistogramRepresentation&) = delete;
231 };
232 
233 #endif
vtkParallelCoordinatesRepresentation::AddToView
bool AddToView(vtkView *view) override
Add/remove the props and actors to/from a view.
vtkParallelCoordinatesRepresentation
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
Definition: vtkParallelCoordinatesRepresentation.h:88
vtkSelectionNode
A node in a selection tree. Used to store selection results.
Definition: vtkSelectionNode.h:67
vtkParallelCoordinatesHistogramRepresentation::OutlierActor
vtkSmartPointer< vtkActor2D > OutlierActor
Definition: vtkParallelCoordinatesHistogramRepresentation.h:178
vtkComputeHistogram2DOutliers
compute the outliers in a set of 2D histograms and extract the corresponding row data.
Definition: vtkComputeHistogram2DOutliers.h:62
vtkParallelCoordinatesHistogramRepresentation::UseHistograms
vtkTypeBool UseHistograms
Flag deciding if histograms will be drawn.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:150
vtkX3D::data
Definition: vtkX3D.h:315
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
vtkPairwiseExtractHistogram2D
compute a 2D histogram between all adjacent columns of an input vtkTable.
Definition: vtkPairwiseExtractHistogram2D.h:57
vtkX3D::range
Definition: vtkX3D.h:238
vtkSmartPointer< vtkPairwiseExtractHistogram2D >
vtkParallelCoordinatesRepresentation::SwapAxisPositions
virtual int SwapAxisPositions(int position1, int position2)
Move an axis to a particular screen position.
vtkParallelCoordinatesRepresentation::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses should override this to connect inputs to the internal pipeline as necessary.
vtkParallelCoordinatesRepresentation.h
vtkView
The superclass for all views.
Definition: vtkView.h:60
vtkParallelCoordinatesRepresentation::PlaceCurves
virtual int PlaceCurves(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot)
vtkViewTheme
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:48
vtkX3D::position
Definition: vtkX3D.h:261
vtkParallelCoordinatesHistogramRepresentation::ShowOutliers
vtkTypeBool ShowOutliers
Whether or not to draw outlier lines.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:168
vtkExtractHistogram2D
compute a 2D histogram between two columns of an input vtkTable.
Definition: vtkExtractHistogram2D.h:58
vtkParallelCoordinatesRepresentation::New
static vtkParallelCoordinatesRepresentation * New()
vtkParallelCoordinatesHistogramRepresentation::HistogramFilter
vtkSmartPointer< vtkPairwiseExtractHistogram2D > HistogramFilter
Definition: vtkParallelCoordinatesHistogramRepresentation.h:162
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkParallelCoordinatesRepresentation::ComputeDataProperties
virtual int ComputeDataProperties()
Compute the number of axes and their individual ranges.
vtkParallelCoordinatesRepresentation::UpdatePlotProperties
virtual int UpdatePlotProperties(vtkStringArray *inputTitles)
Set plot actor properties (line thickness, opacity, etc)
vtkParallelCoordinatesHistogramRepresentation::OutlierData
vtkSmartPointer< vtkPolyData > OutlierData
Definition: vtkParallelCoordinatesHistogramRepresentation.h:176
vtkParallelCoordinatesHistogramRepresentation::OutlierFilter
vtkSmartPointer< vtkComputeHistogram2DOutliers > OutlierFilter
Definition: vtkParallelCoordinatesHistogramRepresentation.h:175
vtkParallelCoordinatesRepresentation::ApplyViewTheme
void ApplyViewTheme(vtkViewTheme *theme) override
Apply the theme to this view.
vtkParallelCoordinatesRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:74
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:41
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkParallelCoordinatesRepresentation::SetRangeAtPosition
virtual int SetRangeAtPosition(int position, double range[2])
vtkParallelCoordinatesHistogramRepresentation::HistogramLookupTable
vtkSmartPointer< vtkLookupTable > HistogramLookupTable
Definition: vtkParallelCoordinatesHistogramRepresentation.h:163
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:42
vtkParallelCoordinatesRepresentation::PlaceSelection
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...
vtkParallelCoordinatesHistogramRepresentation
Data representation that takes generic multivariate data and produces a parallel coordinates plot....
Definition: vtkParallelCoordinatesHistogramRepresentation.h:67
vtkParallelCoordinatesRepresentation::PlaceLines
virtual int PlaceLines(vtkPolyData *polyData, vtkTable *data, vtkIdTypeArray *idsToPlot)
Place line primitives into a vtkPolyData from the input data.
vtkParallelCoordinatesHistogramRepresentation::OutlierMapper
vtkSmartPointer< vtkPolyDataMapper2D > OutlierMapper
Definition: vtkParallelCoordinatesHistogramRepresentation.h:177
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkParallelCoordinatesHistogramRepresentation::PreferredNumberOfOutliers
int PreferredNumberOfOutliers
How many outlier lines to draw, approximately.
Definition: vtkParallelCoordinatesHistogramRepresentation.h:173
vtkParallelCoordinatesRepresentation::RemoveFromView
bool RemoveFromView(vtkView *view) override