The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...
The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...
The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Marlon Richert, Master’s <strong>The</strong>sis, Friday, 23 February, 2007<br />
that can act on other, virtual objects. A virtual Tool from the conceptual design or<br />
the analysis object model would be an Actor here. An Actor can be what the user<br />
perceives as a tool, but does not have to be, <strong>in</strong> order to keep the system openended<br />
and adaptable. An Actor could also be, for example, an object not directly<br />
controlled by the user or even a real object, <strong>in</strong>stead of a virtual one. In the case of a<br />
real object, its Actor would still have a virtual Obj represent<strong>in</strong>g the exact shape,<br />
location and orientation of the real object <strong>in</strong> the virtual space, but it would be<br />
<strong>in</strong>visible so that the user would perceive only the real part of the Actor and not the<br />
virtual part.<br />
Figure 7 Semantic design of the roles module (class diagram).<br />
Such Actors may act differently on different objects and thus can play different Roles<br />
towards different Target objects. An Interaction object def<strong>in</strong>es what Role an Actor<br />
plays toward a particular Target. <strong>The</strong> application programmer determ<strong>in</strong>es what<br />
exactly it is that a Role does; Role is an abstract class and cannot be <strong>in</strong>stantiated.<br />
<strong>The</strong> application programmer will need to subclass Role and implement the act(…)<br />
method to def<strong>in</strong>e Role behavior. In summary, these four classes (Actor, Role, Target<br />
and Interaction) are at the core of the functionality of the roles module and are<br />
the ma<strong>in</strong> classes that the application programmer will deal with.<br />
Additional classes are required, however, to <strong>in</strong>terface with IPF. Each required list<br />
item <strong>in</strong> IPF gets an object-oriented representation <strong>in</strong> the form of an Item. Each Item<br />
has a set(…) and a get(…) method to set and get the values of properties of its IPF<br />
counterpart. It also has a name, which is identical to its name <strong>in</strong> IPF. <strong>The</strong>n, each<br />
Actor gets an Obj visually represent<strong>in</strong>g it <strong>in</strong> the virtual space. Each Obj represents at<br />
most one Actor and this Actor can be retrieved through the class method<br />
Actor.get(…). Each Target also gets an Obj represent<strong>in</strong>g it, but also several Regions<br />
22