VTK  9.2.6
vtkParallelCoordinatesView.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkParallelCoordinatesView.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 /*-------------------------------------------------------------------------
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 -------------------------------------------------------------------------*/
64 #ifndef vtkParallelCoordinatesView_h
65 #define vtkParallelCoordinatesView_h
66 
67 #include "vtkRenderView.h"
68 #include "vtkViewsInfovisModule.h" // For export macro
69 
70 class vtkActor2D;
71 class vtkOutlineSource;
73 class vtkPolyData;
75 
76 class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesView : public vtkRenderView
77 {
78 public:
81  void PrintSelf(ostream& os, vtkIndent indent) override;
82 
83  enum
84  {
85  VTK_BRUSH_LASSO = 0,
89  VTK_BRUSH_MODECOUNT
90  };
91  enum
92  {
93  VTK_BRUSHOPERATOR_ADD = 0,
97  VTK_BRUSHOPERATOR_MODECOUNT
98  };
99  enum
100  {
101  VTK_INSPECT_MANIPULATE_AXES = 0,
103  VTK_INSPECT_MODECOUNT
104  };
105 
106  void SetBrushMode(int);
107  void SetBrushModeToLasso() { this->SetBrushMode(VTK_BRUSH_LASSO); }
108  void SetBrushModeToAngle() { this->SetBrushMode(VTK_BRUSH_ANGLE); }
109  void SetBrushModeToFunction() { this->SetBrushMode(VTK_BRUSH_FUNCTION); }
110  void SetBrushModeToAxisThreshold() { this->SetBrushMode(VTK_BRUSH_AXISTHRESHOLD); }
111  vtkGetMacro(BrushMode, int);
112 
113  void SetBrushOperator(int);
114  void SetBrushOperatorToAdd() { this->SetBrushOperator(VTK_BRUSHOPERATOR_ADD); }
115  void SetBrushOperatorToSubtract() { this->SetBrushOperator(VTK_BRUSHOPERATOR_SUBTRACT); }
116  void SetBrushOperatorToIntersect() { this->SetBrushOperator(VTK_BRUSHOPERATOR_INTERSECT); }
117  void SetBrushOperatorToReplace() { this->SetBrushOperator(VTK_BRUSHOPERATOR_REPLACE); }
118  vtkGetMacro(BrushOperator, int);
119 
120  void SetInspectMode(int);
121  void SetInspectModeToManipulateAxes() { this->SetInspectMode(VTK_INSPECT_MANIPULATE_AXES); }
122  void SetInpsectModeToSelectData() { this->SetInspectMode(VTK_INSPECT_SELECT_DATA); }
123  vtkGetMacro(InspectMode, int);
124 
126  vtkGetMacro(MaximumNumberOfBrushPoints, int);
127 
128  vtkSetMacro(CurrentBrushClass, int);
129  vtkGetMacro(CurrentBrushClass, int);
130 
131  void ApplyViewTheme(vtkViewTheme* theme) override;
132 
133 protected:
136 
138 
139  enum
140  {
141  VTK_HIGHLIGHT_CENTER = 0,
143  VTK_HIGHLIGHT_MAX
144  };
148 
155 
159 
162 
165 
166  void ProcessEvents(vtkObject* caller, unsigned long event, void* callData) override;
168 
169  void PrepareForRendering() override;
170 
172 
175  void Hover(unsigned long event);
176  void ManipulateAxes(unsigned long event);
177  void SelectData(unsigned long event);
178  void Zoom(unsigned long event);
179  void Pan(unsigned long event);
181 
186 
191 
192  int AddLassoBrushPoint(double* p);
193  int SetBrushLine(int line, double* p1, double* p2);
194  void GetBrushLine(int line, vtkIdType& npts, vtkIdType const*& ptids);
195  int SetAngleBrushLine(double* p1, double* p2);
196  int SetFunctionBrushLine1(double* p1, double* p2);
197  int SetFunctionBrushLine2(double* p1, double* p2);
199 
200 private:
202  void operator=(const vtkParallelCoordinatesView&) = delete;
203 };
204 
205 #endif
a actor that draws 2D data
Definition: vtkActor2D.h:155
Proxy object to connect input/output ports.
The superclass for all representations.
a simple class to control print indentation
Definition: vtkIndent.h:119
abstract base class for most VTK objects
Definition: vtkObject.h:82
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
vtkDataRepresentation * CreateDefaultRepresentation(vtkAlgorithmOutput *conn) override
Create a default vtkDataRepresentation for the given vtkAlgorithmOutput.
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
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)
static vtkParallelCoordinatesView * New()
int SetFunctionBrushLine2(double *p1, double *p2)
int AddLassoBrushPoint(double *p)
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:200
A view containing a renderer.
Definition: vtkRenderView.h:84
record modification and/or execution time
Definition: vtkTimeStamp.h:55
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:138
@ position
Definition: vtkX3D.h:267
int vtkIdType
Definition: vtkType.h:332