rock_widget_collection  0.1
Public Member Functions | List of all members
KeyEvent Class Reference

#include <SonarDisplay.h>

Inherits vtkCommand.

Public Member Functions

 KeyEvent (SonarDisplay *p)
 
virtual void Execute (vtkObject *caller, unsigned long eventId, void *callData)
 

Detailed Description

Definition at line 40 of file SonarDisplay.h.

Constructor & Destructor Documentation

◆ KeyEvent()

KeyEvent::KeyEvent ( SonarDisplay p)
inline

Definition at line 43 of file SonarDisplay.h.

43 {p_sonar_display = p;bin_number=100;};

Member Function Documentation

◆ Execute()

void KeyEvent::Execute ( vtkObject *  caller,
unsigned long  eventId,
void *  callData 
)
virtual

Definition at line 28 of file SonarDisplay.cc.

29 {
30  vtkRenderWindowInteractor *interactor = vtkRenderWindowInteractor::SafeDownCast(caller);
31  vtkPropPicker *picker = vtkPropPicker::SafeDownCast(interactor->GetPicker());
32  if(picker->GetActor())
33  {
34  int id = p_sonar_display->getActorID(picker->GetActor());
35  vtkStructuredGridGeometryFilter *filter = p_sonar_display->getFilter(id);
36  int extent[6];
37  filter->GetExtent(extent);
38 
39  switch(interactor->GetKeyCode())
40  {
41  case 'p':
42  p_sonar_display->setPlotData(id);
43  break;
44  case '1':
45  p_sonar_display->reset();
46  break;
47 
48  case '2':
49  if (p_sonar_display->isPlotVisible())
50  p_sonar_display->setPlotVisible(false);
51  else
52  {
53  p_sonar_display->setPlotVisible(true);
54  p_sonar_display->setPlotData(id);
55  }
56  break;
57 
58  case '8':
59  filter->SetExtent(0,1,0,2000,1,1);
60  filter->Modified();
61  break;
62  case '9':
63  filter->SetExtent(0,0,0,2000,0,1);
64  filter->Modified();
65  break;
66  case '0':
67  filter->SetExtent(0,1,bin_number,bin_number,0,1);
68  filter->Modified();
69  break;
70  case '+':
71  if(extent[1] == 1 && extent[5] == 1)
72  {
73  ++bin_number;
74  filter->SetExtent(0,1,bin_number,bin_number,0,1);
75  filter->Modified();
76  }
77  break;
78  case '-':
79  if(extent[1] == 1 && extent[5] == 1)
80  {
81  --bin_number;
82  filter->SetExtent(0,1,bin_number,bin_number,0,1);
83  filter->Modified();
84  }
85  break;
86  }
87  p_sonar_display->GetRenderWindow()->Render();
88  }
89  else
90  {
91  switch(interactor->GetKeyCode())
92  {
93  case '1':
94  p_sonar_display->reset();
95  break;
96 
97  }
98  }
99 }
void setPlotData(int id)
vtkStructuredGridGeometryFilter * getFilter(int id)
void setPlotVisible(bool val)
bool isPlotVisible()
int getActorID(const vtkActor *actor)

The documentation for this class was generated from the following files: