![]() |
Description of Applications used in Cife iRoom: References: |
Description of iRoom Applications:
iRoom is a developed to provides multiple computer displays and input devices which are simultaneously visible, linked and usable by one or more users. It uses the Event Heap which acts as mechanism by which multiple users, machines and applications can all simultaneously interact as consumers and generators of system events.
The basic software infrastructoure consists of:
Event heap:
This acts as a global tuplespace for submission of events . Different applications on different devices subscribe to this tuplespace to recive commands in the form of events and then act accordingly on them .
Each event has the following fields:
- MultiBrowseEvent: To start html pages and other applications
- CifeEvents: Defined to submit cife events. These are special strings defined below and groupID based events ie picked up by all applications.
- ShowDocumentEvents: To display images in ImageViewer.
- MultiBrowsed: htmlpage /application name
- CifeEvent:
- a="some area" e.g. , a=A
- d="some date" e.g. , d=2000-12-12
- c="some component" e.g. , c=wall2
Event Heap Client:
This is installed on each each device in the workspace . It provides the default event heap listener for a device in the iRoom to provide the following functionality:
Event heap client requires the device to have a unique machine ID and machine name across the iRoom workspace it is installed in.
Pointright:
It is a software system that allows pointer and mouse control to be smoothly switched among displays. A single free-floating mouse and keyboard is used to control multiple screens. When the cursor reaches the edge of a screen it seamlessly moves to the adjacent screen and keyboard control is simultaneously redirected to that machine. The system automatically reconfigures itself as displays go on or off or change the machine they are currently displaying.
We use a wireless keyboard and a mouse in CIFE iRoom .
The machine hosting the event heap server also hosts the pointright server and the other machines have pointright clients running.
XML Database:
This is a native XML database provided by "Excelon" .
This is the database to store project information of construction data models. It provides a simple query mechanism and a webinterface to access the database across the internet .
Cife Application Suite:
Cife application suite consists of applications which have been programmed to listen for and act on different types of events submitted to the event heap.
1) 4D viewer:
To display construction models in time and space dimensions.
A iRoom mode was added to this application to make it respond to events. Currently it acts on the following events:
How to start the 4D viewer in iRoom mode ?
Executable: Invizn.exe
2) DataViewers:
These are generated from the project data in the XML database as a result of query by the user.
These views have the functionality to submit events to the event heap on mouse click and also highlight data being displayed according to some defined relationships based on events received. Some of the relationships are:
These applications are capable of submitting date events and highlight building component events for the 4D viewer and other applications.
More on functionality of data viewers
Executable: CifeSvr.bat
3) MS Project Listener:
This picks up any date events and makes the status line of the currently being displayed project to move to that date.
Executable: MSProject.bat
4) RoomController:
Implemented as a java servlet this gives us the current view of the iRoom and provides the ability to submit commands to open up different applications on different machines in a user friendly drag and drop manner.It provides the following functionalities:

Executable: controller.bat
5) createRoomXml:
This application helps you generate an XML file which can then be used as an input to the Data Collections frame of "Room Controller"
Click here to view an example of xml file generated.
Executable: createData.bat
6) DateSlider:
This is a widget which provides the user with a simple date slider to post cife group date events to the event heap and all applications which are related to the date posted receive the vent and act on it accordingly.
Executable: dateSlider.bat
Takes the starting and the ending date for the slider as parameters. Example: dateslider 01/01/2000 01/01/2006 .Heap name and heap server are optional arguments.
7) Import-Export:
This application provides the user with an interface to import in a VFE ( 4D file ) and convert it into a XML file which can then be stored to the XML database and then used to generated the desire data views.
Executable: Import-Export.exe
8) Interface to the Excelon Database:
4DViewer (Invizn.exe) in iRoom mode:
This application can be made to listen for events by selecting the iroom option in the file menu. It brings up a dialog box asking for what type of messages the application should be able to receive.
Currently the application is programmed to respond to following type of events.
Example Invizn (4D Viewer) of a project
After receiving "d=1998-12-01" command . (Invizn application jumps to show the project status on the date received )
Invoking Room Controller as a servlet:
The command to invoke the room controller is given in controller.bat file as http://graphics.stanford.edu/private/room-applet? and the following parameters:
This application is responsible for querying the XML database and then displaying the results obtained in a predefined format.
Views supported are
Elements for these views are
Parameters
The command is invoked using CifeSvr.bat which takes in a single argument specified as: " Type of View | Element for view | File in Database to use| Query"
Functionality
This application expects a config.txt file as configuration file to set the heapname, heapserver name and the XML database server.
This file is in the same path as the class files for this application and its contents should be modified to specify the database/event heap/event heap server that is being used.
Heap event Heap name
Table View
Tree View
Document View
The views have been color coded to specify the alternative/file they are viewing. This means that all views related to a file have the same background color. Each of the views generated is capable of submitting and receiving "Cife" group events.