VTK  9.3.0
vtkParallelCoordinatesView.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2009 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
38 #ifndef vtkParallelCoordinatesView_h
39 #define vtkParallelCoordinatesView_h
40 
41 #include "vtkRenderView.h"
42 #include "vtkViewsInfovisModule.h" // For export macro
43 
44 VTK_ABI_NAMESPACE_BEGIN
45 class vtkActor2D;
46 class vtkOutlineSource;
48 class vtkPolyData;
50 
51 class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesView : public vtkRenderView
52 {
53 public:
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
58  enum
59  {
60  VTK_BRUSH_LASSO = 0,
64  VTK_BRUSH_MODECOUNT
65  };
66  enum
67  {
68  VTK_BRUSHOPERATOR_ADD = 0,
72  VTK_BRUSHOPERATOR_MODECOUNT
73  };
74  enum
75  {
76  VTK_INSPECT_MANIPULATE_AXES = 0,
78  VTK_INSPECT_MODECOUNT
79  };
80 
81  void SetBrushMode(int);
82  void SetBrushModeToLasso() { this->SetBrushMode(VTK_BRUSH_LASSO); }
83  void SetBrushModeToAngle() { this->SetBrushMode(VTK_BRUSH_ANGLE); }
84  void SetBrushModeToFunction() { this->SetBrushMode(VTK_BRUSH_FUNCTION); }
85  void SetBrushModeToAxisThreshold() { this->SetBrushMode(VTK_BRUSH_AXISTHRESHOLD); }
86  vtkGetMacro(BrushMode, int);
87 
88  void SetBrushOperator(int);
89  void SetBrushOperatorToAdd() { this->SetBrushOperator(VTK_BRUSHOPERATOR_ADD); }
90  void SetBrushOperatorToSubtract() { this->SetBrushOperator(VTK_BRUSHOPERATOR_SUBTRACT); }
91  void SetBrushOperatorToIntersect() { this->SetBrushOperator(VTK_BRUSHOPERATOR_INTERSECT); }
92  void SetBrushOperatorToReplace() { this->SetBrushOperator(VTK_BRUSHOPERATOR_REPLACE); }
93  vtkGetMacro(BrushOperator, int);
94 
95  void SetInspectMode(int);
96  void SetInspectModeToManipulateAxes() { this->SetInspectMode(VTK_INSPECT_MANIPULATE_AXES); }
97  void SetInpsectModeToSelectData() { this->SetInspectMode(VTK_INSPECT_SELECT_DATA); }
98  vtkGetMacro(InspectMode, int);
99 
101  vtkGetMacro(MaximumNumberOfBrushPoints, int);
102 
103  vtkSetMacro(CurrentBrushClass, int);
104  vtkGetMacro(CurrentBrushClass, int);
105 
106  void ApplyViewTheme(vtkViewTheme* theme) override;
107 
108 protected:
111 
113 
114  enum
115  {
116  VTK_HIGHLIGHT_CENTER = 0,
118  VTK_HIGHLIGHT_MAX
119  };
123 
130 
134 
137 
140 
141  void ProcessEvents(vtkObject* caller, unsigned long event, void* callData) override;
143 
144  void PrepareForRendering() override;
145 
147 
150  void Hover(unsigned long event);
151  void ManipulateAxes(unsigned long event);
152  void SelectData(unsigned long event);
153  void Zoom(unsigned long event);
154  void Pan(unsigned long event);
156 
161 
166 
167  int AddLassoBrushPoint(double* p);
168  int SetBrushLine(int line, double* p1, double* p2);
169  void GetBrushLine(int line, vtkIdType& npts, vtkIdType const*& ptids);
170  int SetAngleBrushLine(double* p1, double* p2);
171  int SetFunctionBrushLine1(double* p1, double* p2);
172  int SetFunctionBrushLine2(double* p1, double* p2);
174 
175 private:
177  void operator=(const vtkParallelCoordinatesView&) = delete;
178 };
179 
180 VTK_ABI_NAMESPACE_END
181 #endif
a actor that draws 2D data
Definition: vtkActor2D.h:44
Proxy object to connect input/output ports.
The superclass for all representations.
a simple class to control print indentation
Definition: vtkIndent.h:38
abstract base class for most VTK objects
Definition: vtkObject.h:61
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:89
A view containing a renderer.
Definition: vtkRenderView.h:59
record modification and/or execution time
Definition: vtkTimeStamp.h:34
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:43
@ position
Definition: vtkX3D.h:261
int vtkIdType
Definition: vtkType.h:315