Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
multitouch
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
multitouch
Commits
7b535751
Commit
7b535751
authored
Jun 25, 2012
by
Taddeüs Kroes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Addressed some feedback comments on report.
parent
86f81f02
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
140 deletions
+90
-140
TODO.txt
TODO.txt
+1
-0
docs/data/diagrams.tex
docs/data/diagrams.tex
+37
-92
docs/report.bib
docs/report.bib
+16
-0
docs/report.tex
docs/report.tex
+36
-48
No files found.
TODO.txt
View file @
7b535751
...
...
@@ -4,3 +4,4 @@ Code:
Report/appendix reference gesture detection:
- Point_leave(+point_enter) kan niet -> flaw v/h systeem/driver?
- "gesture detection component" -> "gesture tracker"
docs/data/diagrams.tex
View file @
7b535751
...
...
@@ -43,49 +43,38 @@
]
\newcommand
{
\architecture
}
[1]
{
\begin{tikzpicture}
[node distance=6em, auto]
\node
[block]
(driver)
{
Driver
}
;
\node
[block]
(driver)
{
D
evice d
river
}
;
#1
\end{tikzpicture}
}
\def\
basic
diagram
{
\begin{figure}
[h]
\def\
full
diagram
{
\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}
}
\node
[block, below of=driver]
(eventdriver)
{
Event driver
}
edge[linefrom] node[right, near end]
{
device-specific messages
}
(driver);
\node
[block, below of=eventdriver]
(area)
{
Event areas
}
edge[linefrom] node[right]
{
1
}
(eventdriver);
\node
[block, right of=area, xshift=7em]
(tracker)
{
Gesture trackers
}
edge[linefrom, bend right=10] node[below=2pt]
{
2
}
(area)
edge[lineto, bend left=10, dotted] (area);
\node
[block, below of=area]
{
Application
}
edge[linefrom, dotted] node[right, near start]
{
3
}
(area);
\def\driverdiagram
{
\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, dashed]
(analysis)
{
Event analysis
}
edge[linefrom] node[right]
{
events
}
(eventdriver);
\node
[block, below of=analysis]
{
Application
}
edge[linefrom] node[right, near start]
{
gestures
}
(analysis);
\node
[right of=eventdriver, xshift=2em]
(dummy)
{}
;
\group
{
eventdriver
}{
eventdriver
}{
dummy
}{
analysis
}{
Architecture
}
}
\caption
{
Extension of the diagram from figure
\ref
{
fig:basicdiagram
}
,
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
}
\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).
}
\label
{
fig:fulldiagram
}
\end{figure}
}
...
...
@@ -93,81 +82,37 @@
\begin{figure}
[H]
\center
\begin{tikzpicture}
[node distance=6em]
\node
[block]
(driver)
{
Driver
}
;
\node
[block]
(driver)
{
D
evice d
river
}
;
\node
[block, below of=driver]
(eventdriver)
{
Event driver
}
edge[linefrom] (driver);
\node
[block, right of=driver, xshift=2em]
(seconddriver)
{
Driver
}
;
\node
[block, right of=driver, xshift=2em]
(seconddriver)
{
D
evice d
river
}
;
\node
[block, below of=seconddriver]
(secondeventdriver)
{
Event driver
}
edge[linefrom] node[right, near end]
{
d
river
-specific messages
}
(seconddriver);
edge[linefrom] node[right, near end]
{
d
evice
-specific messages
}
(seconddriver);
\node
[block, below of=eventdriver
, dashed]
(analysis)
{
Event analysi
s
}
\node
[block, below of=eventdriver
]
(areas)
{
Event area
s
}
edge[linefrom] (eventdriver)
edge[linefrom] node[right=5pt]
{
events
}
(secondeventdriver);
\node
[block, below of=analysis]
{
Application
}
edge[linefrom] node[right, near start]
{
gestures
}
(analysis);
\node
[block, right of=area, xshift=7em]
(tracker)
{
Gesture trackers
}
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)
{}
;
\group
{
eventdriver
}{
eventdriver
}{
dummy
}{
a
nalysi
s
}{
Architecture
}
\group
{
eventdriver
}{
eventdriver
}{
dummy
}{
a
rea
s
}{
Architecture
}
\end{tikzpicture}
\caption
{
Multiple event drivers running simultaneously.
}
\label
{
fig:multipledrivers
}
\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
{
\begin{figure}
[h!]
\center
\architecture
{
\node
[block, below of=driver]
(eventdriver)
{
Event driver
}
edge[linefrom] node[right, near end]
{
d
river
-specific messages
}
(driver);
edge[linefrom] node[right, near end]
{
d
evice
-specific messages
}
(driver);
\node
[block, below of=eventdriver]
(rootarea)
{
Root area
}
edge[linefrom] (eventdriver);
...
...
@@ -352,7 +297,7 @@
\center
\architecture
{
\node
[block, below of=driver]
(eventdriver)
{
Event driver
}
edge[linefrom] node[right, near end]
{
d
river
-specific messages
}
(driver);
edge[linefrom] node[right, near end]
{
d
evice
-specific messages
}
(driver);
\node
[block, below of=eventdriver]
(rootarea)
{
Screen area
}
edge[linefrom] (eventdriver);
...
...
docs/report.bib
View file @
7b535751
...
...
@@ -230,3 +230,19 @@
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
}
docs/report.tex
View file @
7b535751
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment