Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

FWHID_Contact Struct Reference

Structure containing the all the information about a Contact. More...

#include <FWHID_Contact.h>


Data Fields

int frame_no
 The current frame number assigned by the device.
int path_id
 1 to MAX_PATHS-1
int finger_id
 Best guess of which finger this Contact represents.
int hand_id
 Best guess of which hand this Contact belongs to.
bool identity_active
 Indicates that the Contact is debounced and active.
bool untouch
 Used for debouncing the Contact.
double xpos
 The X (horizontal) coordinate of the center of the Contact.
double ypos
 The Y (vertical) coordinate of the center of the Contact.
double xvel
 The X (horizontal) velocity of the Contact.
double yvel
 The Y (vertical) velocity of the Contact.
double proximity
 The normalized fingertip area/pressure of the Contact.
double orientation
 Represents the orientation of the contact.
double eccentricity
 Ratio of height/width of the Contact.
long device_timestamp
 Timestamp of the Contact assigned by the device in milliseconds.
FWHID_AbsoluteTime host_timestamp
 Timestamp of the Contact assigned by the host OS.


Detailed Description

Structure containing the all the information about a Contact.

A contact is a single contiguous surface image (typically fingers) which contains all the relevant position, velocity, and proximity/pseudo-pressure data. The contact is assigned a path_id with is constant across all consecutive frames where the contact is touching the surface. Also the device takes a best guess at which finger the contact is (finger_id). This guess changes as more contacts touch the surface.


Field Documentation

long FWHID_Contact::device_timestamp
 

Timestamp of the Contact assigned by the device in milliseconds.

The range is ???????

double FWHID_Contact::eccentricity
 

Ratio of height/width of the Contact.

The range is from 1 to 7.2 with a nominal value of ~1.8

int FWHID_Contact::finger_id
 

Best guess of which finger this Contact represents.

The finger_id is may not be constant across frames. It can change as more contacts touch the surface. If all five fingers from one hand touch the surface the finger_id's will mostly likely be all correct.

Note:
This is really type FWHIDfingerID
See also:
FWHID_isPalm(), FWHID_isFinger(), FWHID_isFingerNotThumb()

int FWHID_Contact::frame_no
 

The current frame number assigned by the device.

The range of values is 0-255 and then wraps around.

int FWHID_Contact::hand_id
 

Best guess of which hand this Contact belongs to.

Note:
This is really type FWHIDhandID

FWHID_AbsoluteTime FWHID_Contact::host_timestamp
 

Timestamp of the Contact assigned by the host OS.

bool FWHID_Contact::identity_active
 

Indicates that the Contact is debounced and active.

This member and untouch comprise the debouncing of a contact.

  • When a Contact first touches the surface, identity_active=false and untouch=false.
  • On the next frame, if the Contact still exsists, identity_active=true, debounce=0 and the indentites are assigned to the Contact.
  • If the Contact leaves the surface for one frame, identity_active = true and untouch = true.
  • If on the following frame the Contact is still off of the surface then, identity_active = false and untouch = true otherwise, identity_active = true and untouch = false.
    identity_activeuntouch 
    falsefalseTouch down debounce frame
    truefalseContact Active
    truetrueLift off debounce frame
    falsetrueContact lifted off
See also:
FWHID_Contact::untouch

double FWHID_Contact::orientation
 

Represents the orientation of the contact.

The range of values is 0 to 180 degrees with a nominal values of 90.

int FWHID_Contact::path_id
 

1 to MAX_PATHS-1

The pathID is constant across all consecutive frames where the contact is touching the surface.

double FWHID_Contact::proximity
 

The normalized fingertip area/pressure of the Contact.

The proximity is approximatly defined in square centimeters. The proximity data can be used at pseudo-pressure data.

bool FWHID_Contact::untouch
 

Used for debouncing the Contact.

See identity_active for a description of how this member is used to debounce Contacts

double FWHID_Contact::xpos
 

The X (horizontal) coordinate of the center of the Contact.

The coordinate is defined in centimeters.

double FWHID_Contact::xvel
 

The X (horizontal) velocity of the Contact.

The velocity is defined in millimeters/second.

double FWHID_Contact::ypos
 

The Y (vertical) coordinate of the center of the Contact.

The coordinate is defined in centimeters.

double FWHID_Contact::yvel
 

The Y (vertical) velocity of the Contact.

The velocity is defined in millimeters/second.


The documentation for this struct was generated from the following file:
Generated on Fri Dec 10 10:08:11 2004 for FingerWorks Hand Tracking SDK by doxygen 1.3.8