================================================================================ ================================================================================ Protocol for geovis render server. Commands take the general form of command and arguments using Tcl syntax and are terminated by a newline. Some command arguments expect a Tcl list which can be sent by enclosing the list in curly braces to prevent the interpreter from splitting the list into multiple arguments. Likewise, strings with spaces should be quoted or enclosed in curly braces. In the documentation below, arguments are indicated by angle brackets and optional arguments are surrounded by question marks -- the brackets and question marks are not part of the protocol and should not be included in argument strings. The arguments shown in angle brackets should be replaced with a string (where there are fixed choices this document indicates valid values by separating them with pipe symbols), a list in Tcl syntax, or a numeric value. Boolean arguments can take the form of 0|1, true|false, or yes|no. Since the protocol commands are executed in a Tcl interpreter, Tcl code such as math expressions in expr commands enclosed in square brackets are also allowed. Since the interpreter is a "safe" interpreter, some Tcl commands that could cause security issues may not be available for use. When binary data is to be sent, it should follow the newline after a command that indicates incoming data including a byte count argument. ================================================================================ ================================================================================ Requests: ================================================================================ == General scene and renderer commands == camera delete Delete named viewpoint camera dist Set camera distance from focal point camera get Request camera parameters camera go Move camera to new focal point. , = Screen/mouse coordinates = Zoom distance multiplier, 1.0=no zoom = Duration of viewpoint move animation in seconds camera orient Set scene orientation using a quaternion camera pan viewport coordinates (window center at 0,0). Positive x pan means pan object to right (camera to left). Positive y pan means pan object down (camera up). For example a pan of 0.5, 0.5 would move the object center to the lower right corner of the window camera reset Option all resets orientation/rotation as well as pan/zoom/clip range camera restore Set viewpoint to a named viewpoint, with optional animation duration in seconds camera rotate Specify relative rotation in viewport coordinates camera save Save current viewpoint to a named viewpoint camera set Explicitly set camera parameters, with optional animation duration in seconds , = Map coordinates of focal point = Altitude of focal point (see vertDatum) = Azimuth in degrees = Elevation in degrees = Distance of camera from focal point in map units(?) = coordinate system, defaults to map coordinate system = vertical datum for interpreting z coordinate camera throw Enable/disable throw inertia for panning/rotating when using mouse events through protocol camera zoom Specify zoom by viewport coordinates (i.e. normalized y mouse coords) clientinfo colormap add (Re-)define a colormap. If colorMapName doesn't exist, it is created, otherwise the colormap is redefined and all users will be updated. colorMap = Tcl list of {value r g b a} control points colormap define (Re-)define a colormap (same as 'add') colormap delete colormap res Set the "resolution" or number of lookup table entries in the colormap = integer or "default" legend Render a legend colorbar. - Name of the colormap defined with the colormap command , - width and height of colorbar - If false, blend with background color ,, - Background color (defaults to black) renderer render Force a new image to be rendered screen bgcolor screen coords Transate map coordinates to screen/mouse coordinates. - String token, included in response - A list of x,y,z map coordinates. If is not given, these are in the map's coordinate system. - Optional horizontal srs init string for coordinate system of x,y,z - Optional vertical srs init string for coordinate system of x,y,z screen size == Mouse and Keyboard Events == key press key release mouse click