Tutorial Series: Showing The Complete Debug Views, Using CML
Tutorial 3: Selectively showing more touch point information with CML
Introduction
In this tutorial we are going to use the CML document to configure the Gesture Analytics Display so that it selectively shows more touch point information.
This tutorial requires Adobe Flash CS5+ and Open Exhibits 2 (download the sdk).
Getting Started
Every touch object rendered on stage has the “built-in” ability to independently display the touch point clusters it posses as well as detailed informatics on cluster geometry and motion. To turn on the GAD display, in the “my_application.cml” document set the DebugKit attribute “displayOn” equal to true. For example:
1 <DebugKit displayOn="true">
This will globally activate the debug display of all touch objects rendered on stage. When the GAD is activated it is always rendered on the topmost layer of the application display hierarchy. This is done to ensure that, when in debug mode, touch points and touch/gesture data is always visible and not obscured by media or menus.
When all “DebugLayers” in the GAD are activated, it can show a visualization of the full gesture pipeline from touch point tracking, cluster analysis (geometry and motion), gesture processing (noise filtering, inertia) to property mapping and display object transformations. In this example we are concerned with the display of touch point cluster geometry. For example:
1
2
3
4
5
6
7
8 <DebugKit displayOn="true">
<DebugLayer type="point_shapes" displayOn="true"/>
<DebugLayer type="cluster_circle" displayOn="true"/>
<DebugLayer type="cluster_box" displayOn="true"/>
<DebugLayer type="cluster_center" displayOn="true"/>
<DebugLayer type="cluster_web" displayOn="true"/>
<DebugLayer type="cluster_rotation" displayOn="true"/>
</DebugKit>
This will activate layers that will dynamically drag the touch point positions using “point_shapes”, define a cluster radius using “cluster_circle”, define the width and height of the cluster using “cluster box”, show the center* of the cluster using “cluster_center”, connect all the touch point to the center point using “cluster_web” and show the change in rotation in the cluster using “cluster_rotation”.
* There are multiple different types of cluster centers used in gesture processing. This display shows the center of the circle defined by the extent of the touch point cluster. This measure of center gives a good approximation of the palm of a human hand when using five touch points and is geometrically consistent with clusters containing other numbers of touch points.