VTK  9.2.6
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=========================================================================*/
63#ifndef vtkParallelCoordinatesActor_h
64#define vtkParallelCoordinatesActor_h
65
66#include "vtkActor2D.h"
67#include "vtkRenderingAnnotationModule.h" // For export macro
68
70class vtkAxisActor2D;
71class vtkDataObject;
72class vtkPolyData;
74class vtkTextMapper;
75class vtkTextProperty;
76class vtkParallelCoordinatesActorConnection;
77
78#define VTK_IV_COLUMN 0
79#define VTK_IV_ROW 1
80
81class VTKRENDERINGANNOTATION_EXPORT vtkParallelCoordinatesActor : public vtkActor2D
82{
83public:
85 void PrintSelf(ostream& os, vtkIndent indent) override;
86
94
96
101 vtkSetClampMacro(IndependentVariables, int, VTK_IV_COLUMN, VTK_IV_ROW);
102 vtkGetMacro(IndependentVariables, int);
103 void SetIndependentVariablesToColumns() { this->SetIndependentVariables(VTK_IV_COLUMN); }
104 void SetIndependentVariablesToRows() { this->SetIndependentVariables(VTK_IV_ROW); }
106
108
111 vtkSetStringMacro(Title);
112 vtkGetStringMacro(Title);
114
116
121 vtkSetClampMacro(NumberOfLabels, int, 0, 50);
122 vtkGetMacro(NumberOfLabels, int);
124
126
129 vtkSetStringMacro(LabelFormat);
130 vtkGetStringMacro(LabelFormat);
132
134
138 vtkGetObjectMacro(TitleTextProperty, vtkTextProperty);
140
142
146 vtkGetObjectMacro(LabelTextProperty, vtkTextProperty);
148
150
157
162
168
174
179
186
187protected:
190
191private:
192 vtkParallelCoordinatesActorConnection* ConnectionHolder;
193
194 int IndependentVariables; // Use column or row
195 vtkIdType N; // The number of independent variables
196 double* Mins; // Minimum data value along this row/column
197 double* Maxs; // Maximum data value along this row/column
198 int* Xs; // Axes x-values (in viewport coordinates)
199 int YMin; // Axes y-min-value (in viewport coordinates)
200 int YMax; // Axes y-max-value (in viewport coordinates)
201 int NumberOfLabels; // Along each axis
202 char* LabelFormat;
203 char* Title;
204
205 vtkAxisActor2D** Axes;
206 vtkTextMapper* TitleMapper;
207 vtkActor2D* TitleActor;
208
209 vtkTextProperty* TitleTextProperty;
210 vtkTextProperty* LabelTextProperty;
211
212 vtkPolyData* PlotData; // The lines drawn within the axes
213 vtkPolyDataMapper2D* PlotMapper;
214 vtkActor2D* PlotActor;
215
216 vtkTimeStamp BuildTime;
217
218 int LastPosition[2];
219 int LastPosition2[2];
220
221 void Initialize();
222 int PlaceAxes(vtkViewport* viewport, const int* size);
223
224private:
226 void operator=(const vtkParallelCoordinatesActor&) = delete;
227};
228
229#endif
a actor that draws 2D data
Definition vtkActor2D.h:46
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:40
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:91
2D text annotation
represent text properties.
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:56
window superclass for vtkRenderWindow
Definition vtkWindow.h:39
int vtkTypeBool
Definition vtkABI.h:69
#define VTK_IV_ROW
#define VTK_IV_COLUMN
int vtkIdType
Definition vtkType.h:332