12.08.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!