VTK  9.1.0
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=========================================================================*/
60#ifndef vtkParallelCoordinatesActor_h
61#define vtkParallelCoordinatesActor_h
62
63#include "vtkActor2D.h"
64#include "vtkRenderingAnnotationModule.h" // For export macro
65
67class vtkAxisActor2D;
68class vtkDataObject;
69class vtkPolyData;
71class vtkTextMapper;
72class vtkTextProperty;
73class vtkParallelCoordinatesActorConnection;
74
75#define VTK_IV_COLUMN 0
76#define VTK_IV_ROW 1
77
78class VTKRENDERINGANNOTATION_EXPORT vtkParallelCoordinatesActor : public vtkActor2D
79{
80public:
82 void PrintSelf(ostream& os, vtkIndent indent) override;
83
91
93
98 vtkSetClampMacro(IndependentVariables, int, VTK_IV_COLUMN, VTK_IV_ROW);
99 vtkGetMacro(IndependentVariables, int);
100 void SetIndependentVariablesToColumns() { this->SetIndependentVariables(VTK_IV_COLUMN); }
101 void SetIndependentVariablesToRows() { this->SetIndependentVariables(VTK_IV_ROW); }
103
105
108 vtkSetStringMacro(Title);
109 vtkGetStringMacro(Title);
111
113
118 vtkSetClampMacro(NumberOfLabels, int, 0, 50);
119 vtkGetMacro(NumberOfLabels, int);
121
123
126 vtkSetStringMacro(LabelFormat);
127 vtkGetStringMacro(LabelFormat);
129
131
135 vtkGetObjectMacro(TitleTextProperty, vtkTextProperty);
137
139
143 vtkGetObjectMacro(LabelTextProperty, vtkTextProperty);
145
147
154
159
165
171
176
183
184protected:
187
188private:
189 vtkParallelCoordinatesActorConnection* ConnectionHolder;
190
191 int IndependentVariables; // Use column or row
192 vtkIdType N; // The number of independent variables
193 double* Mins; // Minimum data value along this row/column
194 double* Maxs; // Maximum data value along this row/column
195 int* Xs; // Axes x-values (in viewport coordinates)
196 int YMin; // Axes y-min-value (in viewport coordinates)
197 int YMax; // Axes y-max-value (in viewport coordinates)
198 int NumberOfLabels; // Along each axis
199 char* LabelFormat;
200 char* Title;
201
202 vtkAxisActor2D** Axes;
203 vtkTextMapper* TitleMapper;
204 vtkActor2D* TitleActor;
205
206 vtkTextProperty* TitleTextProperty;
207 vtkTextProperty* LabelTextProperty;
208
209 vtkPolyData* PlotData; // The lines drawn within the axes
210 vtkPolyDataMapper2D* PlotMapper;
211 vtkActor2D* PlotActor;
212
213 vtkTimeStamp BuildTime;
214
215 int LastPosition[2];
216 int LastPosition2[2];
217
218 void Initialize();
219 int PlaceAxes(vtkViewport* viewport, const int* size);
220
221private:
223 void operator=(const vtkParallelCoordinatesActor&) = delete;
224};
225
226#endif
a actor that draws 2D data
Definition: vtkActor2D.h:149
Proxy object to connect input/output ports.
Create an axis with tick marks and labels.
general representation of visualization data
a simple class to control print indentation
Definition: vtkIndent.h:113
create parallel coordinate display from input field
vtkDataObject * GetInput()
Remove a dataset from the list of data to append.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry?
virtual void SetLabelTextProperty(vtkTextProperty *p)
Set/Get the labels text property.
static vtkParallelCoordinatesActor * New()
Instantiate object with autorange computation; the number of labels set to 5 for the x and y axes; a ...
virtual void SetInputConnection(vtkAlgorithmOutput *)
Set the input to the parallel coordinates actor.
~vtkParallelCoordinatesActor() override
virtual void SetTitleTextProperty(vtkTextProperty *p)
Set/Get the title text property.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
int RenderOverlay(vtkViewport *) override
Draw the parallel coordinates plot.
virtual void SetInputData(vtkDataObject *)
Set the input to the parallel coordinates actor.
void SetIndependentVariablesToRows()
Specify whether to use the rows or columns as independent variables.
void SetIndependentVariablesToColumns()
Specify whether to use the rows or columns as independent variables.
int RenderOpaqueGeometry(vtkViewport *) override
Draw the parallel coordinates plot.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
Draw the parallel coordinates plot.
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
2D text annotation
represent text properties.
record modification and/or execution time
Definition: vtkTimeStamp.h:52
abstract specification for Viewports
Definition: vtkViewport.h:47
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
@ size
Definition: vtkX3D.h:259
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_IV_ROW
#define VTK_IV_COLUMN
int vtkIdType
Definition: vtkType.h:332