Rob DiazMarino Interactions Lab rob diazmarinogmail com Premise
Rob Diaz-Marino, Interactions Lab rob. diazmarino@gmail. com
� Premise of Proximity Toolkit � The Home Space �Intro to Vicon System �Intro to Proximity Server � Proximity Data Model �Presence Properties �Relation Properties � Using the Toolkit �Controls � Help & Resources � Demo
� Any potential proximity input hardware Motion Sensor Vicon Proximity. Toolkit Your Application . . .
The Space Things that Change (Subjects) Fixed Features (Volumes) Relations
� Potentially distributed applications Computer A - Input Computer B - Display Mobile Device - Display
� Smart. Board �Switch � 2 nd off after use Monitor �Input: DVI-D 2 � Computer �Always on �Leave logged in �Ignore updates Power Button
Ultranet Computer Camera 1 Camera 2 . . . Vicon Nexus Your Program Proximity Server Camera 8
Pencil White. Hat Black. Hat
� Subjects Tab � Load Subject button � Check/Uncheck � DO NOT TOUCH ANY OTHER SETTINGS!
� Starup Procedure � Turn on Machine + Display(s) � Turn on Ultranet (switch on back) � Run Vicon Nexus � Load Subjects � Run Proximity. Server � Connect Proximity. Server to Nexus � Shutdown � Turn Procedure off Ultranet � Turn off Display(s)
� Identity Base � Decorator Data Model �Different � Optional Inputs = Different Data Groups of Data �Location �Motion �Orientation �Direction �Rotation � Certainty
(300, 200, -300) (300, 0, 300)
Acceleration Velocity (300, 200, 300) (300, 200, 0) (0, 0, -300) (0, 0, -200) (300, 200, -500) (0, 0, -500)
Incline Up Front 30º Ground (XZ Axis)
Azimuth Up Front 180º Ground (XZ Axis)
Roll Up Front Perp Up -30º Ground (XZ Axis)
� Simplification of Orientation �Incline �Azimuth �NO Roll � Anything Orientable is Directable � Used for Pointers
Up Front Angle Axis
� Client-Side Calculation on Request � Relation Types �Location �Motion �Orientation �Direction �Rotation �Pointing �Collision
B A Distance (X/Y/Z) Horizontal Distance Vertical Distance Incline A to B Incline B to A A Moving Toward B A Moving From B Etc.
B A Is A Moving Is B Moving X/Y/Z Velocity Agrees X/Y/Z Acceleration Agrees Velocity Difference Acceleration Difference
B A Incline Agrees Incline Difference Azimuth Agrees Azimuth Difference Roll Agrees Roll Difference
B A A Towards/From B B Towards/From A A Tangental to B B Tangental to A Parralel Horizontally Purpendicular
B A *Open to Suggestions
B A Points At Points Toward Distance Is Touching Intersection Location Intersection Direction *Screen Coordinates
B A Collision Containment Distance Intersection Nearest Point
� Proximity Toolkit Installation �C: /Program � Windows Files/Proximity. Toolkit Forms �Proximity. Toolkit. dll �Proximity. Toolkit. Win. Forms. dll � WPF �Proximity. Toolkit. dll �Proximity. Toolkit. WPF. dll �System. Drawing
� Add a Tab �Right click on Toolbox �Choose “Add Tab” �Give Tab a name like “Proximity. Toolkit” � Add Items �Right click on Toolbox in new tab �Choose “Choose Items. . . ” �Browse for. NET components & select libraries �Ensure the following are checked Presence. Manager Presence. Control Relation. Control
Properties: - IP - Port - Auto. Dismiss. Embody. Dialog - Maintain. Embodiment Events: - On. Connection. Dropped(Asynch) - On. Started(Asynch) - On. Stopped(Asynch) - On. Ready. Changed(Asynch) - On. Updating(Asynch) - On. Data. Updated(Asynch) - On. Updated(Asynch)
Properties: - Presence. Name - Presence. Type - Monitor - Is. Optional - Custom. Image Events: � � Set Presence. Name (match Proximity. Server) Set Presence. Type � (Presence/Display/Volume/Device) � Set Monitor � None, Location, Direction, Orientation, Rotation, Motion, All � Set Is. Optional / Custom. Image - On. Location. Updated - On. Direction. Updated - On. Orientation. Updated - On. Rotation. Updated - On. Motion. Updated - On. Updated
Properties: -A -B - Monitor Events: � � � Set A to a Presence Control Set B to a Presence Control Set Monitor � None, Location, Direction, Orientation, Rotation, Motion, Collision, Pointing, All - On. Location. Updated - On. Direction. Updated - On. Orientation. Updated - On. Rotation. Updated - On. Motion. Updated - On. Collision. Updated - On. Pointing. Updated - On. Updated
� Appears on Program Startup � Availability Verifiction �Connection �Presences
� Presence. Manager �Can not a container organize with Stack Panel, set to Hidden � Presence. Control �Monitors are bool properties Monitor. Location, Monitor. Direction, etc. � Relation. Control �Monitors are bool properties Monitor. Pointing, Monitor. Collision, etc. �Must specify Name. A and Name. B
� Proximity. Client. Connection � Presence. Base for Presences �Space. Get. Presence(“name”), . Get. Display(“name”), . Get. Volume(“name”), . Get. Device(“name”) �Data. Updating/Data. Updated events �Get. Relation. Interface for types ILocatable, IMovable, IOrientable, IDirectable, etc. � Relation. Pair �Same for Relations Events as Relation. Control, all Asynch
� Cookbook Page �http: //grouplab. cpsc. ucalgary. ca/cookbook �Reference � E-Mail �rob. diazmarino@gmail. com
- Slides: 48