VTK  9.1.0
vtkParallelCoordinatesView.h
Go to the documentation of this file.
1/*=========================================================================
2
3Program: Visualization Toolkit
4Module: vtkParallelCoordinatesView.h
5
6Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7All rights reserved.
8See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10This software is distributed WITHOUT ANY WARRANTY; without even
11the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12PURPOSE. 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-------------------------------------------------------------------------*/
61#ifndef vtkParallelCoordinatesView_h
62#define vtkParallelCoordinatesView_h
63
64#include "vtkRenderView.h"
65#include "vtkViewsInfovisModule.h" // For export macro
66
67class vtkActor2D;
70class vtkPolyData;
72
73class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesView : public vtkRenderView
74{
75public:
78 void PrintSelf(ostream& os, vtkIndent indent) override;
79
80 enum
81 {
82 VTK_BRUSH_LASSO = 0,
86 VTK_BRUSH_MODECOUNT
87 };
88 enum
89 {
90 VTK_BRUSHOPERATOR_ADD = 0,
94 VTK_BRUSHOPERATOR_MODECOUNT
95 };
96 enum
97 {
98 VTK_INSPECT_MANIPULATE_AXES = 0,
100 VTK_INSPECT_MODECOUNT
101 };
102
103 void SetBrushMode(int);
104 void SetBrushModeToLasso() { this->SetBrushMode(VTK_BRUSH_LASSO); }
105 void SetBrushModeToAngle() { this->SetBrushMode(VTK_BRUSH_ANGLE); }
106 void SetBrushModeToFunction() { this->SetBrushMode(VTK_BRUSH_FUNCTION); }
107 void SetBrushModeToAxisThreshold() { this->SetBrushMode(VTK_BRUSH_AXISTHRESHOLD); }
108 vtkGetMacro(BrushMode, int);
109
111 void SetBrushOperatorToAdd() { this->SetBrushOperator(VTK_BRUSHOPERATOR_ADD); }
112 void SetBrushOperatorToSubtract() { this->SetBrushOperator(VTK_BRUSHOPERATOR_SUBTRACT); }
113 void SetBrushOperatorToIntersect() { this->SetBrushOperator(VTK_BRUSHOPERATOR_INTERSECT); }
114 void SetBrushOperatorToReplace() { this->SetBrushOperator(VTK_BRUSHOPERATOR_REPLACE); }
115 vtkGetMacro(BrushOperator, int);
116
117 void SetInspectMode(int);
118 void SetInspectModeToManipulateAxes() { this->SetInspectMode(VTK_INSPECT_MANIPULATE_AXES); }
119 void SetInpsectModeToSelectData() { this->SetInspectMode(VTK_INSPECT_SELECT_DATA); }
120 vtkGetMacro(InspectMode, int);
121
123 vtkGetMacro(MaximumNumberOfBrushPoints, int);
124
125 vtkSetMacro(CurrentBrushClass, int);
126 vtkGetMacro(CurrentBrushClass, int);
127
128 void ApplyViewTheme(vtkViewTheme* theme) override;
129
130protected:
133
135
136 enum
137 {
138 VTK_HIGHLIGHT_CENTER = 0,
140 VTK_HIGHLIGHT_MAX
141 };
145
152
156
159
162
163 void ProcessEvents(vtkObject* caller, unsigned long event, void* callData) override;
165
166 void PrepareForRendering() override;
167
169
172 void Hover(unsigned long event);
173 void ManipulateAxes(unsigned long event);
174 void SelectData(unsigned long event);
175 void Zoom(unsigned long event);
176 void Pan(unsigned long event);
178
183
188
189 int AddLassoBrushPoint(double* p);
190 int SetBrushLine(int line, double* p1, double* p2);
191 void GetBrushLine(int line, vtkIdType& npts, vtkIdType const*& ptids);
192 int SetAngleBrushLine(double* p1, double* p2);
193 int SetFunctionBrushLine1(double* p1, double* p2);
194 int SetFunctionBrushLine2(double* p1, double* p2);
196
197private:
199 void operator=(const vtkParallelCoordinatesView&) = delete;
200};
201
202#endif
a actor that draws 2D data
Definition: vtkActor2D.h:149
Proxy object to connect input/output ports.
The superclass for all representations.
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:73
create wireframe outline around bounding box
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
view to be used with vtkParallelCoordinatesRepresentation
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ProcessEvents(vtkObject *caller, unsigned long event, void *callData) override
Called to process events.
vtkSmartPointer< vtkPolyData > BrushData
void Zoom(unsigned long event)
Handle axis manipulation.
vtkSmartPointer< vtkPolyDataMapper2D > HighlightMapper
vtkSmartPointer< vtkPolyDataMapper2D > BrushMapper
~vtkParallelCoordinatesView() override
void SetMaximumNumberOfBrushPoints(int)
int SetFunctionBrushLine1(double *p1, double *p2)
void SelectData(unsigned long event)
Handle axis manipulation.
void Hover(unsigned long event)
Handle axis manipulation.
int SetAxisHighlightPosition(vtkParallelCoordinatesRepresentation *rep, double position)
Set the highlight position using normalized viewport coordinates.
void ApplyViewTheme(vtkViewTheme *theme) override
vtkSmartPointer< vtkActor2D > HighlightActor
void PrepareForRendering() override
Called by the view when the renderer is about to render.
vtkSmartPointer< vtkActor2D > BrushActor
void ManipulateAxes(unsigned long event)
Handle axis manipulation.
int SetAngleBrushLine(double *p1, double *p2)
void GetBrushLine(int line, vtkIdType &npts, vtkIdType const *&ptids)
vtkSmartPointer< vtkOutlineSource > HighlightSource
static vtkParallelCoordinatesView * New()
void Pan(unsigned long event)
Handle axis manipulation.
int SetAxisHighlightPosition(vtkParallelCoordinatesRepresentation *rep, int position)
Set/Get the position of axis highlights.
int SetBrushLine(int line, double *p1, double *p2)
int SetFunctionBrushLine2(double *p1, double *p2)
int AddLassoBrushPoint(double *p)
vtkDataRepresentation * CreateDefaultRepresentation(vtkAlgorithmOutput *conn) override
Create a default vtkDataRepresentation for the given vtkAlgorithmOutput.
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
A view containing a renderer.
Definition: vtkRenderView.h:78
record modification and/or execution time
Definition: vtkTimeStamp.h:52
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:132
@ position
Definition: vtkX3D.h:267
int vtkIdType
Definition: vtkType.h:332