05Robot 3.0

- Main Page
- Modules
- Classes
- Files

Classes
Eyetracker module

Contains routines for handing pointing devices such as eyetracker. More...

## Classes
struct | sMousePos
| The structure represents a point of mouse cursor trace. More...
struct | sAtomGesture
| The structure represents an atom gesture data and defines eGestureType enumerator. More...
struct | boundingBoxInfo
| The structure stores descriptors of mouse cursor trace. More...
class | cGestureDirectoryEntry
| The class represents single entry describing complex gesture. More...
class | cEyeTrackerFilter
| The cEyeTrackerFilter class. More...
class | cComplexGestureEvent
| Event class for passing complex gesture events recognized by cEyeTrackerFilter filter. More...

## Detailed Description

Contains routines for handing pointing devices such as eyetracker.

05Robot - Eyetracker Module

Author
  P.Kaczmarek,J.Tomczynski,T.Mankowski

Version
  1.0 2017

Contains routines related to handing pointing devices such as eyetracker.

The cEyeTrackerFilter lets to analyze mouse Dires and it overrides default QObject::eventFilter, and thus it can be easily attached to any QWidget object receiving MouseEvent notification.

It let to define and recognize a set of complex gestures performed by pointing devices. Each complex gestures consists of chain of atom gestures (sAtomGesture::eGestureType). The complex gesture signatures chain and the behavior form are defined by cGestureDirectoryEntry.

The following code presents using the module

QVector<cGestureDirectoryEntry> directory = {cGestureDirectoryEntry(0,"horizontal move left right",{sAtomGesture::H_LINE_LEFT,sAtomGesture::H_LINE_RIGHT},\
cGestureDirectoryEntry::SAME_BUTTON_END, Qt::LeftButton, 'a', Qt::ControlModifier, 5000),\
cGestureDirectoryEntry(1,"vertical down up",{sAtomGesture::V_LINE_DOWN,sAtomGesture::V_LINE_UP},\
cGestureDirectoryEntry::EQUAL_START_END, Qt::LeftButton, 0, Qt::NoModifier, 5000),\
cGestureDirectoryEntry(2,"rectangle clockwise",{sAtomGesture::H_LINE_RIGHT,sAtomGesture::V_LINE_DOWN,sAtomGesture::H_LINE_LEFT, sAtomGesture::V_LINE_UP},\
cGestureDirectoryEntry::EQUAL_START_END, Qt::NoButton, 'z',Qt::ControlModifier)};
cEyeTrackerFilter* filter= new cEyeTrackerFilter(directory,this,0);
qApp->installEventFilter(filter);