OpenTracker

An Open Architecture for Reconfigurable Tracking based on XML | Contact

ot::QtAppScreenPosSink Class Reference
[OTQt Classes]

Destination sink of the ASPD. More...

#include <QtAppScreenPosSink.h>

Inheritance diagram for ot::QtAppScreenPosSink:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

Detailed Description

Destination sink of the ASPD.

Provides 3D position and orientation of the target applicaton desktop screen (6-DOF device).

See also:
class QtMouseEventSinkBase description

Definition at line 96 of file QtAppScreenPosSink.h.


Constructor & Destructor Documentation

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

Calls base class constructor.

See also:
QtMouseEventSinkBase(StringTable&)

Definition at line 103 of file QtAppScreenPosSink.h.

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

Definition at line 105 of file QtAppScreenPosSink.h.


Member Function Documentation

void ot::QtAppScreenPosSink::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 53 of file QtAppScreenPosSink.cxx.

References ot::QtMouseEventSinkBase::acquireEvent(), ot::QtMouseEventSinkBase::curr_event_, ot::QtMouseEventSinkBase::forwardEvent(), ot::Event::getOrientation(), ot::Event::getPosition(), ot::QtMouseEventSinkBase::isInsideOrientThreshCone(), ot::QtMouseEventSinkBase::isInsidePosThreshSphere(), ot::QtMouseEventSinkBase::ORIENT_THRESH_FILTER, 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