The GIS application may run as well in single user mode as in collaborative mode. In collaborative mode there may be several GIS application instances in one GIS session. The GIS operates in master - client architecture.
In each GIS session there is one distinguished GIS application which behaves as a master for the rest. Only user operating the master GIS can control the application behavior. This user may choose the number of windows which display information, actual contents displayed in these windows, and may change the viewer camera parameters (position, orientation, etc) by moving and rotating the observation viewpoint.
The rest of participants behave as clients. They can only observe reproduced behavior of the master GIS. These applications display the same windows with the same contents and show the same views using the same camera parameters.
Data are loaded separately to all instances of GIS application (master and clients) by the use of an HTTP server. Only control messages are exchanged among GIS applications and they do not include the actual terrain data.
The GIS application has extended possibilities of displaying additional animated objects. These objects are also controlled by the use of the collaboration system. It is assumed that during demonstration control messages describing animated objects will come from the Simulation Engine.
The position of the camera in the master GIS has been changed. This may be a result of simply moving the viewpoint or loading the new world to the viewer.
Master GIS
Clients GIS
Receiver GIS moves its camera to the new position and redisplays screen.
Length: 44 bytes
Types: 11 floats
Fields:
[FLOAT] position X (meters)
[FLOAT] position Y (meters)
[FLOAT] position Z (meters)
[FLOAT] rotation angle (Radians)
[FLOAT] rotation axis X
[FLOAT] rotation axis Y
[FLOAT] rotation axis Z
[FLOAT] aspect Ratio Value
[FLOAT] near Distance Value
[FLOAT] far Distance Value
[FLOAT] focal Distance Value
The new virtual world (URL) has been loaded to the master viewer. This message should be followed by a CAMP message to position the camera in the new world.
Master GIS
Clients GIS
Receiver loads new virtual world from specified URL and redisplays the screen.
Length: 512 bytes
Types: string
Fields:
[STRING512] URL
The number of GIS windows, their contents or display options have been changed in the master GIS. The new setup for all the windows is contained in the message. The maximum number of 4 windows is assumed. Display options currently include possibility of setting camera for horizontal (fly) or vertical (bird's eye) view of the terrain and visualization of images (satellite images, maps, weather) on 3D or 2D surface.
Master GIS
Client GIS
The number, contents, and display options of the client windows is changed to follow the changes in the master application.
Length: 12 bytes
Types: 12 bytes
Fields: 4 sequences corresponding to 4 possible GIS windows. Each sequence consists of 3 bytes.
[BYTE] Contents - 0 - window not shown, 1 - satellite images, 2 - topograhic maps, 3 - weather info
[BYTE] Options - 1st bit - position horizontal or vertical, 2nd bit - 2D or 3D visualization
[BYTE] Spare - currently not used
A new object should be read into the scene. The URL for this object is specified. It can be either animated or non-animated object. Message contains a short textual description of the object to be displayed.
Master GIS, Simulation Engine
Client GIS, Master GIS
All receivers read-in the new object from the given URL. Master GIS notifies the user with the message. The user decides whether or not to display this object and in which window and sends appropriate SHOB message to the clients.
Length: 684 bytes
Types: string, string, 10 floats, integer
Fields:
[STRING512] - message
[STRING128] - URL
[FLOAT][FLOAT][FLOAT] - position X Y Z
[FLOAT][FLOAT][FLOAT][FLOAT] - orientation X Y X Angle
[FLOAT][FLOAT][FLOAT] - scale factor X Y Z
[INT] - object id
Message used to synchronize animated objects. One message concerns one animated object. It defines its new position, orientation, rotation, velocity, and direction.
Simulation Engine
Master GIS, Client GIS
Appropriate animated object data is updated and animation is continued.
Length: 72 bytes
Types: integer, 17 floats
Fields:
[INT] Object id
[FLOAT][FLOAT][FLOAT] New object position
[FLOAT][FLOAT][FLOAT][FLOAT] New object orientation
[FLOAT][FLOAT][FLOAT][FLOAT] New object rotation (change of orientation in time rad/s)
[FLOAT][FLOAT][FLOAT] New object velocity
[FLOAT][FLOAT][FLOAT] New direction of object movement
Informs which animated objects are displayed in which windows.
Master GIS
Client GIS
Receiver starts displaying given animated object in given window.
Length: 8 bytes
Types: 2 integers
Fields:
[INT] Object id
[INT} Window number