VTK
vtkParallelCoordinatesActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkParallelCoordinatesActor.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 =========================================================================*/
62 #ifndef vtkParallelCoordinatesActor_h
63 #define vtkParallelCoordinatesActor_h
64 
65 #include "vtkRenderingAnnotationModule.h" // For export macro
66 #include "vtkActor2D.h"
67 
68 class vtkAlgorithmOutput;
69 class vtkAxisActor2D;
70 class vtkDataObject;
71 class vtkPolyData;
73 class vtkTextMapper;
74 class vtkTextProperty;
75 class vtkParallelCoordinatesActorConnection;
76 
77 #define VTK_IV_COLUMN 0
78 #define VTK_IV_ROW 1
79 
81 {
82 public:
84  void PrintSelf(ostream& os, vtkIndent indent);
85 
90 
92 
95  vtkSetClampMacro(IndependentVariables,int,VTK_IV_COLUMN, VTK_IV_ROW);
96  vtkGetMacro(IndependentVariables,int);
98  {this->SetIndependentVariables(VTK_IV_COLUMN);};
100  {this->SetIndependentVariables(VTK_IV_ROW);};
102 
104 
105  vtkSetStringMacro(Title);
106  vtkGetStringMacro(Title);
108 
110 
113  vtkSetClampMacro(NumberOfLabels, int, 0, 50);
114  vtkGetMacro(NumberOfLabels, int);
116 
118 
119  vtkSetStringMacro(LabelFormat);
120  vtkGetStringMacro(LabelFormat);
122 
124 
125  virtual void SetTitleTextProperty(vtkTextProperty *p);
126  vtkGetObjectMacro(TitleTextProperty,vtkTextProperty);
128 
130 
131  virtual void SetLabelTextProperty(vtkTextProperty *p);
132  vtkGetObjectMacro(LabelTextProperty,vtkTextProperty);
134 
136 
141 
143  virtual int HasTranslucentPolygonalGeometry();
144 
147  virtual void SetInputConnection(vtkAlgorithmOutput*);
148 
151  virtual void SetInputData(vtkDataObject*);
152 
154  vtkDataObject* GetInput();
155 
160 
161 protected:
164 
165 private:
166 
167  vtkParallelCoordinatesActorConnection* ConnectionHolder;
168 
169  int IndependentVariables; // Use column or row
170  vtkIdType N; // The number of independent variables
171  double *Mins; // Minimum data value along this row/column
172  double *Maxs; // Maximum data value along this row/column
173  int *Xs; // Axes x-values (in viewport coordinates)
174  int YMin; // Axes y-min-value (in viewport coordinates)
175  int YMax; // Axes y-max-value (in viewport coordinates)
176  int NumberOfLabels; // Along each axis
177  char *LabelFormat;
178  char *Title;
179 
180  vtkAxisActor2D **Axes;
181  vtkTextMapper *TitleMapper;
182  vtkActor2D *TitleActor;
183 
184  vtkTextProperty *TitleTextProperty;
185  vtkTextProperty *LabelTextProperty;
186 
187  vtkPolyData *PlotData; // The lines drawn within the axes
188  vtkPolyDataMapper2D *PlotMapper;
189  vtkActor2D *PlotActor;
190 
192 
193  int LastPosition[2];
194  int LastPosition2[2];
195 
196  void Initialize();
197  int PlaceAxes(vtkViewport *viewport, int *size);
198 
199 private:
200  vtkParallelCoordinatesActor(const vtkParallelCoordinatesActor&); // Not implemented.
201  void operator=(const vtkParallelCoordinatesActor&); // Not implemented.
202 };
203 
204 
205 #endif
206 
vtkTimeStamp BuildTime
virtual void ReleaseGraphicsResources(vtkWindow *)
abstract specification for Viewports
Definition: vtkViewport.h:46
create parallel coordinate display from input field
a actor that draws 2D data
Definition: vtkActor2D.h:44
record modification and/or execution time
Definition: vtkTimeStamp.h:34
Create an axis with tick marks and labels.
int vtkIdType
Definition: vtkType.h:247
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
#define VTK_IV_COLUMN
2D text annotation
Definition: vtkTextMapper.h:52
#define VTKRENDERINGANNOTATION_EXPORT
Proxy object to connect input/output ports.
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
virtual int HasTranslucentPolygonalGeometry()
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
a simple class to control print indentation
Definition: vtkIndent.h:38
void PrintSelf(ostream &os, vtkIndent indent)
static vtkActor2D * New()
#define VTK_IV_ROW
represent text properties.
virtual int RenderOverlay(vtkViewport *viewport)
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
general representation of visualization data
Definition: vtkDataObject.h:64
draw vtkPolyData onto the image plane