VTK
vtkChartParallelCoordinates.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkChartParallelCoordinates.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 
24 #ifndef vtkChartParallelCoordinates_h
25 #define vtkChartParallelCoordinates_h
26 
27 #include "vtkChartsCoreModule.h" // For export macro
28 #include "vtkChart.h"
29 
30 class vtkIdTypeArray;
31 class vtkStdString;
32 class vtkStringArray;
34 
35 class VTKCHARTSCORE_EXPORT vtkChartParallelCoordinates : public vtkChart
36 {
37 public:
39  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
40 
45 
51  void Update() VTK_OVERRIDE;
52 
56  bool Paint(vtkContext2D *painter) VTK_OVERRIDE;
57 
61  void SetColumnVisibility(const vtkStdString& name, bool visible);
62 
67  void SetColumnVisibilityAll(bool visible);
68 
72  bool GetColumnVisibility(const vtkStdString& name);
73 
75 
78  vtkGetObjectMacro(VisibleColumns, vtkStringArray);
80 
84  vtkPlot* GetPlot(vtkIdType index) VTK_OVERRIDE;
85 
89  vtkIdType GetNumberOfPlots() VTK_OVERRIDE;
90 
94  vtkAxis* GetAxis(int axisIndex) VTK_OVERRIDE;
95 
99  vtkIdType GetNumberOfAxes() VTK_OVERRIDE;
100 
105  void RecalculateBounds() VTK_OVERRIDE;
106 
111  virtual void SetPlot(vtkPlotParallelCoordinates *plot);
112 
116  bool Hit(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
117 
121  bool MouseEnterEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
122 
126  bool MouseMoveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
127 
131  bool MouseLeaveEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
132 
136  bool MouseButtonPressEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
137 
141  bool MouseButtonReleaseEvent(const vtkContextMouseEvent &mouse) VTK_OVERRIDE;
142 
146  bool MouseWheelEvent(const vtkContextMouseEvent &mouse, int delta) VTK_OVERRIDE;
147 
148 protected:
150  ~vtkChartParallelCoordinates() VTK_OVERRIDE;
151 
153 
156  class Private;
157  Private *Storage;
159 
160  bool GeometryValid;
161 
165  vtkIdTypeArray *Selection;
166 
170  vtkStringArray *VisibleColumns;
171 
176 
177  void ResetSelection();
178  void UpdateGeometry();
179  void CalculatePlotTransform();
180  void SwapAxes(int a1, int a2);
181 
182 private:
183  vtkChartParallelCoordinates(const vtkChartParallelCoordinates &) VTK_DELETE_FUNCTION;
184  void operator=(const vtkChartParallelCoordinates &) VTK_DELETE_FUNCTION;
185 
186 };
187 
188 #endif //vtkChartParallelCoordinates_h
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:41
vtkTimeStamp BuildTime
record modification and/or execution time
Definition: vtkTimeStamp.h:32
a vtkAbstractArray subclass for strings
Class for drawing a parallel coordinate plot given columns from a vtkTable.
dynamic, self-adjusting array of vtkIdType
int vtkIdType
Definition: vtkType.h:345
Class for drawing 2D primitives to a graphical context.
Definition: vtkContext2D.h:52
Factory class for drawing 2D charts.
Definition: vtkChart.h:44
takes care of drawing 2D axes
Definition: vtkAxis.h:68
data structure to represent mouse events.
a simple class to control print indentation
Definition: vtkIndent.h:33
Abstract class for 2D plots.
Definition: vtkPlot.h:46
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual void Update()
Perform any updates to the item that may be necessary before rendering.
Factory class for drawing 2D charts.