Commit 7b535751 authored by Taddeüs Kroes's avatar Taddeüs Kroes

Addressed some feedback comments on report.

parent 86f81f02
...@@ -4,3 +4,4 @@ Code: ...@@ -4,3 +4,4 @@ Code:
Report/appendix reference gesture detection: Report/appendix reference gesture detection:
- Point_leave(+point_enter) kan niet -> flaw v/h systeem/driver? - Point_leave(+point_enter) kan niet -> flaw v/h systeem/driver?
- "gesture detection component" -> "gesture tracker"
...@@ -43,49 +43,38 @@ ...@@ -43,49 +43,38 @@
] ]
\newcommand{\architecture}[1]{ \newcommand{\architecture}[1]{
\begin{tikzpicture}[node distance=6em, auto] \begin{tikzpicture}[node distance=6em, auto]
\node[block] (driver) {Driver}; \node[block] (driver) {Device driver};
#1 #1
\end{tikzpicture} \end{tikzpicture}
} }
\def\basicdiagram{ \def\fulldiagram{
\begin{figure}[h] \begin{figure}[h!]
\center
\architecture{
\node[block, dashed, below of=driver] (arch) {Architecture}
edge[linefrom] node[right] {driver-specific messages} (driver);
\node[block, below of=arch] {Application}
edge[linefrom] node[right] {gestures} (arch);
}
\caption{A diagram showing the position of the architecture relative to
the device driver and a multi-touch application. The input of the
architecture is given by a touch device driver. The output is
translated to complex interaction gestures and passed to the
application that is using the architecture.}
\label{fig:basicdiagram}
\end{figure}
}
\def\driverdiagram{
\begin{figure}[H]
\center \center
\architecture{ \architecture{
\node[block, below of=driver] (eventdriver) {Event driver} \node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver); edge[linefrom] node[right, near end] {device-specific messages} (driver);
\node[block, below of=eventdriver, dashed] (analysis) {Event analysis} \node[block, below of=eventdriver] (area) {Event areas}
edge[linefrom] node[right] {events} (eventdriver); edge[linefrom] node[right] {1} (eventdriver);
\node[block, below of=analysis] {Application} \node[block, right of=area, xshift=7em] (tracker) {Gesture trackers}
edge[linefrom] node[right, near start] {gestures} (analysis); edge[linefrom, bend right=10] node[below=2pt] {2} (area)
edge[lineto, bend left=10, dotted] (area);
\node[right of=eventdriver, xshift=2em] (dummy) {}; \node[block, below of=area] {Application}
\group{eventdriver}{eventdriver}{dummy}{analysis}{Architecture} edge[linefrom, dotted] node[right, near start] {3} (area);
\group{eventdriver}{eventdriver}{tracker}{area}{Architecture}
}
\caption{
Components of the architecture design. The \emph{event driver}
translates device-specific messages to low-level ``events''. These
events are delegated to a number of \emph{event areas} (1), which
restrict events to an area on the screen. \emph{Gesture trackers}
translate low-level events to high-level ``gestures'' (2), which
are handled by the application (3). Dotted arrows represent a flow
of gestures, regular arrows represent events (unless labeled
otherwise).
} }
\caption{Extension of the diagram from figure \ref{fig:basicdiagram}, \label{fig:fulldiagram}
showing the position of the event driver in the architecture. The
event driver translates driver-specific to a common set of events,
which are delegated to analysis components that will interpret them
as more complex gestures.}
\label{fig:driverdiagram}
\end{figure} \end{figure}
} }
...@@ -93,81 +82,37 @@ ...@@ -93,81 +82,37 @@
\begin{figure}[H] \begin{figure}[H]
\center \center
\begin{tikzpicture}[node distance=6em] \begin{tikzpicture}[node distance=6em]
\node[block] (driver) {Driver}; \node[block] (driver) {Device driver};
\node[block, below of=driver] (eventdriver) {Event driver} \node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] (driver); edge[linefrom] (driver);
\node[block, right of=driver, xshift=2em] (seconddriver) {Driver}; \node[block, right of=driver, xshift=2em] (seconddriver) {Device driver};
\node[block, below of=seconddriver] (secondeventdriver) {Event driver} \node[block, below of=seconddriver] (secondeventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (seconddriver); edge[linefrom] node[right, near end] {device-specific messages} (seconddriver);
\node[block, below of=eventdriver, dashed] (analysis) {Event analysis} \node[block, below of=eventdriver] (areas) {Event areas}
edge[linefrom] (eventdriver) edge[linefrom] (eventdriver)
edge[linefrom] node[right=5pt] {events} (secondeventdriver); edge[linefrom] node[right=5pt] {events} (secondeventdriver);
\node[block, below of=analysis] {Application} \node[block, right of=area, xshift=7em] (tracker) {Gesture trackers}
edge[linefrom] node[right, near start] {gestures} (analysis); edge[linefrom, bend right=10] (areas)
edge[lineto, bend left=10, dotted] (areas);
\node[block, below of=areas] {Application}
edge[linefrom, dotted] node[right, near start] {gestures} (areas);
\node[right of=seconddriver, xshift=2em] (dummy) {}; \node[right of=seconddriver, xshift=2em] (dummy) {};
\group{eventdriver}{eventdriver}{dummy}{analysis}{Architecture} \group{eventdriver}{eventdriver}{dummy}{areas}{Architecture}
\end{tikzpicture} \end{tikzpicture}
\caption{Multiple event drivers running simultaneously.} \caption{Multiple event drivers running simultaneously.}
\label{fig:multipledrivers} \label{fig:multipledrivers}
\end{figure} \end{figure}
} }
\def\areadiagram{
\begin{figure}[h]
\center
\architecture{
\node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver);
\node[block, below of=eventdriver] (area) {Event areas}
edge[linefrom] node[right] {events} (eventdriver);
\node[block, right of=area, xshift=7em, dashed] (analysis) {Gesture detection}
edge[linefrom, bend right=10] node[above] {events} (area)
edge[lineto, bend left=10] node[] {gestures} (area);
\node[block, below of=area] {Application}
edge[linefrom] node[right, near start] {gestures through callback function} (area);
\group{eventdriver}{eventdriver}{analysis}{area}{Architecture}
}
\caption{Extension of the diagram from figure \ref{fig:driverdiagram},
with event areas. An event area delegates events to a gesture detection
component that triggers a gesture. The event area then calls the
handlers that are bound to the gesture type by the application.}
\label{fig:areadiagram}
\end{figure}
}
\def\trackerdiagram{
\begin{figure}[h!]
\center
\architecture{
\node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver);
\node[block, below of=eventdriver] (area) {Event area tree}
edge[linefrom] node[right] {events} (eventdriver);
\node[block, right of=area, xshift=7em] (tracker) {Gesture trackers}
edge[linefrom, bend right=10] node[above] {events} (area)
edge[lineto, bend left=10] node[] {gestures} (area);
\node[block, below of=area] {Application}
edge[linefrom] node[right, near start] {gestures} (area);
\group{eventdriver}{eventdriver}{tracker}{area}{Architecture}
}
\caption{Extension of the diagram from figure \ref{fig:areadiagram}
with gesture trackers. Gesture trackers analyze detect high-level
gestures from low-level events.}
\label{fig:trackerdiagram}
\end{figure}
}
\def\examplediagram{ \def\examplediagram{
\begin{figure}[h!] \begin{figure}[h!]
\center \center
\architecture{ \architecture{
\node[block, below of=driver] (eventdriver) {Event driver} \node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver); edge[linefrom] node[right, near end] {device-specific messages} (driver);
\node[block, below of=eventdriver] (rootarea) {Root area} \node[block, below of=eventdriver] (rootarea) {Root area}
edge[linefrom] (eventdriver); edge[linefrom] (eventdriver);
...@@ -352,7 +297,7 @@ ...@@ -352,7 +297,7 @@
\center \center
\architecture{ \architecture{
\node[block, below of=driver] (eventdriver) {Event driver} \node[block, below of=driver] (eventdriver) {Event driver}
edge[linefrom] node[right, near end] {driver-specific messages} (driver); edge[linefrom] node[right, near end] {device-specific messages} (driver);
\node[block, below of=eventdriver] (rootarea) {Screen area} \node[block, below of=eventdriver] (rootarea) {Screen area}
edge[linefrom] (eventdriver); edge[linefrom] (eventdriver);
......
...@@ -230,3 +230,19 @@ ...@@ -230,3 +230,19 @@
year = 2010 year = 2010
} }
@article{PIP,
added-at = "2011-12-05T00:00:00.000+0100",
author = "Sutherland, Ivan E. and Sproull, Robert F. and Schumacker, Robert A.",
interhash = "7c3ac13951889d07f968ca7c0398c34d",
intrahash = "2bfef4fbc31892de2ab1bf8607514e2b",
journal = "ACM Comput. Surv.",
keywords = "dblp",
number = 1,
pages = "13-16",
title = "{A Characterization of Ten Hidden-Surface Algorithms.}",
url = "http://dblp.uni-trier.de/db/journals/csur/csur6.html#SutherlandSS74; http://doi.acm.org/10.1145/356625.356626; http://www.bibsonomy.org/bibtex/22bfef4fbc31892de2ab1bf8607514e2b/dblp",
volume = 6,
x-fetchedfrom = "Bibsonomy",
year = 1974
}
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment