VTK
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-------------------------------------------------------------------------*/
45#ifndef vtkParallelCoordinatesView_h
46#define vtkParallelCoordinatesView_h
47
48#include "vtkViewsInfovisModule.h" // For export macro
49#include "vtkRenderView.h"
50
51class vtkActor2D;
54class vtkPolyData;
56
57class VTKVIEWSINFOVIS_EXPORT vtkParallelCoordinatesView : public vtkRenderView
58{
59public:
62 void PrintSelf(ostream &os, vtkIndent indent);
63
64 enum {VTK_BRUSH_LASSO=0,VTK_BRUSH_ANGLE,VTK_BRUSH_FUNCTION,VTK_BRUSH_AXISTHRESHOLD,VTK_BRUSH_MODECOUNT};
65 enum {VTK_BRUSHOPERATOR_ADD=0,VTK_BRUSHOPERATOR_SUBTRACT,VTK_BRUSHOPERATOR_INTERSECT,VTK_BRUSHOPERATOR_REPLACE,VTK_BRUSHOPERATOR_MODECOUNT};
66 enum {VTK_INSPECT_MANIPULATE_AXES=0, VTK_INSPECT_SELECT_DATA, VTK_INSPECT_MODECOUNT};
67
68 void SetBrushMode(int);
69 void SetBrushModeToLasso() { this->SetBrushMode(VTK_BRUSH_LASSO); }
70 void SetBrushModeToAngle() { this->SetBrushMode(VTK_BRUSH_ANGLE); }
71 void SetBrushModeToFunction() { this->SetBrushMode(VTK_BRUSH_FUNCTION); }
72 void SetBrushModeToAxisThreshold() { this->SetBrushMode(VTK_BRUSH_AXISTHRESHOLD); }
73 vtkGetMacro(BrushMode,int);
74
76 void SetBrushOperatorToAdd() { this->SetBrushOperator(VTK_BRUSHOPERATOR_ADD); }
77 void SetBrushOperatorToSubtract() { this->SetBrushOperator(VTK_BRUSHOPERATOR_SUBTRACT); }
78 void SetBrushOperatorToIntersect() { this->SetBrushOperator(VTK_BRUSHOPERATOR_INTERSECT); }
79 void SetBrushOperatorToReplace() { this->SetBrushOperator(VTK_BRUSHOPERATOR_REPLACE); }
80 vtkGetMacro(BrushOperator,int);
81
82 void SetInspectMode(int);
83 void SetInspectModeToManipulateAxes() { this->SetInspectMode(VTK_INSPECT_MANIPULATE_AXES); }
84 void SetInpsectModeToSelectData() { this->SetInspectMode(VTK_INSPECT_SELECT_DATA); }
85 vtkGetMacro(InspectMode,int);
86
88 vtkGetMacro(MaximumNumberOfBrushPoints,int);
89
90 vtkSetMacro(CurrentBrushClass,int);
91 vtkGetMacro(CurrentBrushClass,int);
92
93 virtual void ApplyViewTheme(vtkViewTheme* theme);
94
95protected:
98
100
101 enum {VTK_HIGHLIGHT_CENTER=0,VTK_HIGHLIGHT_MIN,VTK_HIGHLIGHT_MAX};
105
112
116
119
122
123 virtual void ProcessEvents(vtkObject *caller, unsigned long event, void *callData);
125
127
129
132 void Hover(unsigned long event);
133 void ManipulateAxes(unsigned long event);
134 void SelectData(unsigned long event);
135 void Zoom(unsigned long event);
136 void Pan(unsigned long event);
138
143
148
149 int AddLassoBrushPoint(double *p);
150 int SetBrushLine(int line, double *p1, double *p2);
151 void GetBrushLine(int line, vtkIdType &npts, vtkIdType* &ptids);
152 int SetAngleBrushLine(double *p1, double *p2);
153 int SetFunctionBrushLine1(double *p1, double *p2);
154 int SetFunctionBrushLine2(double *p1, double *p2);
156
157
158private:
159 vtkParallelCoordinatesView(const vtkParallelCoordinatesView&) VTK_DELETE_FUNCTION;
160 void operator=(const vtkParallelCoordinatesView&) VTK_DELETE_FUNCTION;
161
162};
163
164#endif
a actor that draws 2D data
Definition: vtkActor2D.h:46
Proxy object to connect input/output ports.
The superclass for all representations.
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
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
vtkSmartPointer< vtkPolyData > BrushData
void Zoom(unsigned long event)
vtkSmartPointer< vtkPolyDataMapper2D > HighlightMapper
vtkSmartPointer< vtkPolyDataMapper2D > BrushMapper
virtual void ApplyViewTheme(vtkViewTheme *theme)
Applies a view theme to this view.
void SetMaximumNumberOfBrushPoints(int)
void GetBrushLine(int line, vtkIdType &npts, vtkIdType *&ptids)
int SetFunctionBrushLine1(double *p1, double *p2)
void SelectData(unsigned long event)
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void Hover(unsigned long event)
Handle axis manipulation.
virtual vtkDataRepresentation * CreateDefaultRepresentation(vtkAlgorithmOutput *conn)
Create a default vtkDataRepresentation for the given vtkAlgorithmOutput.
int SetAxisHighlightPosition(vtkParallelCoordinatesRepresentation *rep, double position)
Set the highlight position using normalized viewport coordinates.
vtkSmartPointer< vtkActor2D > HighlightActor
vtkSmartPointer< vtkActor2D > BrushActor
void ManipulateAxes(unsigned long event)
void PrepareForRendering()
Called by the view when the renderer is about to render.
int SetAngleBrushLine(double *p1, double *p2)
virtual void ProcessEvents(vtkObject *caller, unsigned long event, void *callData)
Called to process events.
virtual ~vtkParallelCoordinatesView()
vtkSmartPointer< vtkOutlineSource > HighlightSource
static vtkParallelCoordinatesView * New()
void Pan(unsigned long event)
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)
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
A view containing a renderer.
Definition: vtkRenderView.h:62
record modification and/or execution time
Definition: vtkTimeStamp.h:36
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:49
@ position
Definition: vtkX3D.h:261
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287