VTK
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 -------------------------------------------------------------------------*/
44 #ifndef vtkParallelCoordinatesView_h
45 #define vtkParallelCoordinatesView_h
46 
47 #include "vtkViewsInfovisModule.h" // For export macro
48 #include "vtkRenderView.h"
49 
50 class vtkActor2D;
51 class vtkOutlineSource;
53 class vtkPolyData;
55 
57 {
58 public:
61  void PrintSelf(ostream &os, vtkIndent indent);
62 
63  //BTX
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  //ETX
68 
69  void SetBrushMode(int);
70  void SetBrushModeToLasso() { this->SetBrushMode(VTK_BRUSH_LASSO); }
71  void SetBrushModeToAngle() { this->SetBrushMode(VTK_BRUSH_ANGLE); }
72  void SetBrushModeToFunction() { this->SetBrushMode(VTK_BRUSH_FUNCTION); }
73  void SetBrushModeToAxisThreshold() { this->SetBrushMode(VTK_BRUSH_AXISTHRESHOLD); }
74  vtkGetMacro(BrushMode,int);
75 
76  void SetBrushOperator(int);
77  void SetBrushOperatorToAdd() { this->SetBrushOperator(VTK_BRUSHOPERATOR_ADD); }
78  void SetBrushOperatorToSubtract() { this->SetBrushOperator(VTK_BRUSHOPERATOR_SUBTRACT); }
79  void SetBrushOperatorToIntersect() { this->SetBrushOperator(VTK_BRUSHOPERATOR_INTERSECT); }
80  void SetBrushOperatorToReplace() { this->SetBrushOperator(VTK_BRUSHOPERATOR_REPLACE); }
81  vtkGetMacro(BrushOperator,int);
82 
83  void SetInspectMode(int);
84  void SetInspectModeToManipulateAxes() { this->SetInspectMode(VTK_INSPECT_MANIPULATE_AXES); }
85  void SetInpsectModeToSelectData() { this->SetInspectMode(VTK_INSPECT_SELECT_DATA); }
86  vtkGetMacro(InspectMode,int);
87 
89  vtkGetMacro(MaximumNumberOfBrushPoints,int);
90 
91  vtkSetMacro(CurrentBrushClass,int);
92  vtkGetMacro(CurrentBrushClass,int);
93 
94  virtual void ApplyViewTheme(vtkViewTheme* theme);
95 
96 protected:
99 
101  //BTX
102  enum {VTK_HIGHLIGHT_CENTER=0,VTK_HIGHLIGHT_MIN,VTK_HIGHLIGHT_MAX};
106  //ETX
107 
114  //BTX
118  //ETX
119 
122 
125 
126  virtual void ProcessEvents(vtkObject *caller, unsigned long event, void *callData);
128 
130 
132 
133  void Hover(unsigned long event);
134  void ManipulateAxes(unsigned long event);
135  void SelectData(unsigned long event);
136  void Zoom(unsigned long event);
137  void Pan(unsigned long event);
139 
142 
145 
146  int AddLassoBrushPoint(double *p);
147  int SetBrushLine(int line, double *p1, double *p2);
148  void GetBrushLine(int line, vtkIdType &npts, vtkIdType* &ptids);
149  int SetAngleBrushLine(double *p1, double *p2);
150  int SetFunctionBrushLine1(double *p1, double *p2);
151  int SetFunctionBrushLine2(double *p1, double *p2);
153 
154 
155 private:
156  vtkParallelCoordinatesView(const vtkParallelCoordinatesView&); // Not implemented
157  void operator=(const vtkParallelCoordinatesView&); // Not implemented
158 
159 };
160 
161 #endif
vtkParallelCoordinatesView::GetBrushLine
void GetBrushLine(int line, vtkIdType &npts, vtkIdType *&ptids)
vtkParallelCoordinatesRepresentation
Data representation that takes generic multivariate data and produces a parallel coordinates plot.
Definition: vtkParallelCoordinatesRepresentation.h:88
vtkViewsInfovisModule.h
vtkPolyDataMapper2D
draw vtkPolyData onto the image plane
Definition: vtkPolyDataMapper2D.h:51
vtkParallelCoordinatesView::HighlightMapper
vtkSmartPointer< vtkPolyDataMapper2D > HighlightMapper
Definition: vtkParallelCoordinatesView.h:104
vtkRenderView
A view containing a renderer.
Definition: vtkRenderView.h:64
vtkOutlineSource
create wireframe outline around bounding box
Definition: vtkOutlineSource.h:39
vtkParallelCoordinatesView::SetBrushOperatorToReplace
void SetBrushOperatorToReplace()
Definition: vtkParallelCoordinatesView.h:80
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkParallelCoordinatesView::VTK_BRUSHOPERATOR_SUBTRACT
@ VTK_BRUSHOPERATOR_SUBTRACT
Definition: vtkParallelCoordinatesView.h:65
vtkParallelCoordinatesView::SetBrushModeToAngle
void SetBrushModeToAngle()
Definition: vtkParallelCoordinatesView.h:71
VTKVIEWSINFOVIS_EXPORT
#define VTKVIEWSINFOVIS_EXPORT
Definition: vtkViewsInfovisModule.h:15
vtkParallelCoordinatesView::SetBrushOperatorToIntersect
void SetBrushOperatorToIntersect()
Definition: vtkParallelCoordinatesView.h:79
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkParallelCoordinatesView::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkSmartPointer< vtkOutlineSource >
vtkParallelCoordinatesView::SetBrushMode
void SetBrushMode(int)
vtkParallelCoordinatesView::SetBrushOperatorToSubtract
void SetBrushOperatorToSubtract()
Definition: vtkParallelCoordinatesView.h:78
vtkParallelCoordinatesView::VTK_INSPECT_SELECT_DATA
@ VTK_INSPECT_SELECT_DATA
Definition: vtkParallelCoordinatesView.h:66
vtkParallelCoordinatesView::SetBrushLine
int SetBrushLine(int line, double *p1, double *p2)
vtkParallelCoordinatesView::SelectedAxisPosition
int SelectedAxisPosition
Definition: vtkParallelCoordinatesView.h:100
vtkParallelCoordinatesView::CurrentBrushClass
int CurrentBrushClass
Definition: vtkParallelCoordinatesView.h:113
vtkParallelCoordinatesView::SetFunctionBrushLine1
int SetFunctionBrushLine1(double *p1, double *p2)
vtkParallelCoordinatesView::Zoom
void Zoom(unsigned long event)
vtkRenderView.h
vtkParallelCoordinatesView::Hover
void Hover(unsigned long event)
vtkParallelCoordinatesView::~vtkParallelCoordinatesView
virtual ~vtkParallelCoordinatesView()
vtkgl::event
struct _cl_event * event
Definition: vtkgl.h:14387
vtkParallelCoordinatesView::SetBrushOperatorToAdd
void SetBrushOperatorToAdd()
Definition: vtkParallelCoordinatesView.h:77
vtkParallelCoordinatesView::ClearBrushPoints
void ClearBrushPoints()
vtkParallelCoordinatesView::ApplyViewTheme
virtual void ApplyViewTheme(vtkViewTheme *theme)
vtkParallelCoordinatesView::Pan
void Pan(unsigned long event)
vtkParallelCoordinatesView::SetAngleBrushLine
int SetAngleBrushLine(double *p1, double *p2)
vtkParallelCoordinatesView::BrushMode
int BrushMode
Definition: vtkParallelCoordinatesView.h:109
vtkParallelCoordinatesView::SetMaximumNumberOfBrushPoints
void SetMaximumNumberOfBrushPoints(int)
vtkViewTheme
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:48
vtkParallelCoordinatesView::SetFunctionBrushLine2
int SetFunctionBrushLine2(double *p1, double *p2)
vtkX3D::position
@ position
Definition: vtkX3D.h:261
vtkParallelCoordinatesView::AddLassoBrushPoint
int AddLassoBrushPoint(double *p)
vtkParallelCoordinatesView::CreateDefaultRepresentation
virtual vtkDataRepresentation * CreateDefaultRepresentation(vtkAlgorithmOutput *conn)
vtkParallelCoordinatesView::HighlightActor
vtkSmartPointer< vtkActor2D > HighlightActor
Definition: vtkParallelCoordinatesView.h:105
vtkDataRepresentation
The superclass for all representations.
Definition: vtkDataRepresentation.h:72
vtkParallelCoordinatesView::SetInpsectModeToSelectData
void SetInpsectModeToSelectData()
Definition: vtkParallelCoordinatesView.h:85
vtkParallelCoordinatesView::SetBrushModeToAxisThreshold
void SetBrushModeToAxisThreshold()
Definition: vtkParallelCoordinatesView.h:73
vtkParallelCoordinatesView::SetAxisHighlightPosition
int SetAxisHighlightPosition(vtkParallelCoordinatesRepresentation *rep, double position)
vtkParallelCoordinatesView::SetBrushModeToFunction
void SetBrushModeToFunction()
Definition: vtkParallelCoordinatesView.h:72
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkParallelCoordinatesView::MaximumNumberOfBrushPoints
int MaximumNumberOfBrushPoints
Definition: vtkParallelCoordinatesView.h:111
vtkParallelCoordinatesView::SelectData
void SelectData(unsigned long event)
vtkParallelCoordinatesView
view to be used with vtkParallelCoordinatesRepresentation
Definition: vtkParallelCoordinatesView.h:57
vtkParallelCoordinatesView::vtkParallelCoordinatesView
vtkParallelCoordinatesView()
vtkParallelCoordinatesView::AxisHighlightPosition
int AxisHighlightPosition
Definition: vtkParallelCoordinatesView.h:121
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkParallelCoordinatesView::ProcessEvents
virtual void ProcessEvents(vtkObject *caller, unsigned long event, void *callData)
vtkParallelCoordinatesView::SetInspectMode
void SetInspectMode(int)
vtkParallelCoordinatesView::VTK_HIGHLIGHT_MIN
@ VTK_HIGHLIGHT_MIN
Definition: vtkParallelCoordinatesView.h:102
vtkParallelCoordinatesView::BrushActor
vtkSmartPointer< vtkActor2D > BrushActor
Definition: vtkParallelCoordinatesView.h:117
vtkParallelCoordinatesView::NumberOfBrushPoints
int NumberOfBrushPoints
Definition: vtkParallelCoordinatesView.h:112
vtkParallelCoordinatesView::HighlightSource
vtkSmartPointer< vtkOutlineSource > HighlightSource
Definition: vtkParallelCoordinatesView.h:103
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkParallelCoordinatesView::BrushMapper
vtkSmartPointer< vtkPolyDataMapper2D > BrushMapper
Definition: vtkParallelCoordinatesView.h:116
vtkParallelCoordinatesView::BrushOperator
int BrushOperator
Definition: vtkParallelCoordinatesView.h:110
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:45
vtkParallelCoordinatesView::BrushData
vtkSmartPointer< vtkPolyData > BrushData
Definition: vtkParallelCoordinatesView.h:115
vtkParallelCoordinatesView::InspectMode
int InspectMode
Definition: vtkParallelCoordinatesView.h:108
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:39
vtkParallelCoordinatesView::ManipulateAxes
void ManipulateAxes(unsigned long event)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkParallelCoordinatesView::FirstFunctionBrushLineDrawn
int FirstFunctionBrushLineDrawn
Definition: vtkParallelCoordinatesView.h:120
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
vtkParallelCoordinatesView::New
static vtkParallelCoordinatesView * New()
vtkParallelCoordinatesView::SetAxisHighlightPosition
int SetAxisHighlightPosition(vtkParallelCoordinatesRepresentation *rep, int position)
vtkParallelCoordinatesView::RebuildNeeded
bool RebuildNeeded
Definition: vtkParallelCoordinatesView.h:124
vtkParallelCoordinatesView::SetInspectModeToManipulateAxes
void SetInspectModeToManipulateAxes()
Definition: vtkParallelCoordinatesView.h:84
vtkParallelCoordinatesView::SetBrushModeToLasso
void SetBrushModeToLasso()
Definition: vtkParallelCoordinatesView.h:70
vtkParallelCoordinatesView::SetBrushOperator
void SetBrushOperator(int)
vtkParallelCoordinatesView::PrepareForRendering
void PrepareForRendering()
vtkParallelCoordinatesView::WorldBuildTime
vtkTimeStamp WorldBuildTime
Definition: vtkParallelCoordinatesView.h:123