OpenTracker

An Open Architecture for Reconfigurable Tracking based on XML | Contact

ot::QtMousePosSink Class Reference
[OTQt Classes]

Destination sink of the MPD. More...

#include <QtMousePosSink.h>

Inheritance diagram for ot::QtMousePosSink:

Inheritance graph
[legend]
Collaboration diagram for ot::QtMousePosSink:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 QtMousePosSink (StringTable &xml_attrib_table)
 ~QtMousePosSink ()
virtual void onEventGenerated (Event &event, Node &generator)

Detailed Description

Destination sink of the MPD.

Provides spatial 3D position data for the calculation of the desktop mouse cursor position (3-DOF device).

See also:
class QtMouseEventSinkBase description

Definition at line 92 of file QtMousePosSink.h.


Constructor & Destructor Documentation

ot::QtMousePosSink::QtMousePosSink ( StringTable xml_attrib_table  )  [inline]

Calls base class constructor.

See also:
QtMouseEventSinkBase(StringTable&)

Definition at line 98 of file QtMousePosSink.h.

ot::QtMousePosSink::~QtMousePosSink (  )  [inline]

Definition at line 100 of file QtMousePosSink.h.


Member Function Documentation

void ot::QtMousePosSink::onEventGenerated ( Event event,
Node generator 
) [virtual]

OpenTracker tracking event push pattern callback method.

Basically stores a copy of the incoming event as new current event in the internal event queue and forwards the original event to parent nodes.

Applies a series of elimination checks on the incoming event. Ignores the event if any of these checks fail. Otherwise acquires the event, thus the incoming event becomes the new current event and the old current event becomes the new previous event. Enables the EVENT_PENDING_SIGNAL flag to indicate an acquisition.

Applied checks in detail: Ignores the incoming tracking event if ..

  • the EVENT_LOCK flag is enabled (currently only implemented in MBS!).
  • it equals the current event (only modified events pass). Different relevant tracking data portions (position, orientation, button state) are compared, depending on the actual sink.
  • position threshold check fails (optional, depending on actual sink, POS_THRESH_FILTER flag enabled).
  • orientation threshold check fails (optional, depending on actual sink, ORIENT_THRESH_FILTER flag enabled).
Forwards the tracking event if ..

  • either CONSUME_EVENTS or EVENT_CONSUME_SIGNAL are disabled. If both are true the event is said to be locally consumed and thus NOT forwarded.
Parameters:
event tracking event
generator event generating child node

Implements ot::QtMouseEventSinkBase.

Definition at line 55 of file QtMousePosSink.cxx.

References ot::QtMouseEventSinkBase::acquireEvent(), ot::QtMouseEventSinkBase::curr_event_, ot::QtMouseEventSinkBase::forwardEvent(), ot::Event::getPosition(), ot::QtMouseEventSinkBase::isInsidePosThreshSphere(), OTQT_DEBUG(), ot::QtMouseEventSinkBase::POS_THRESH_FILTER, and ot::QtMouseEventSinkBase::state_.


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

copyright (c) 2006 Graz University of Technology