NAME
     vhclserv - vehicle server

SYNOPSIS
     vhclserv [-p port]

DESCRIPTION

vhclserv is a vehicle simulator that can be plugged into a viewer.  A
user (or client program) can interact with vhclserv via stdin and
stdout or telnet.  The command syntax is a semi-colon separated list
of commands with arbitrary number of parameters enclosed in
parenthesis, with support for optional parameters and keyword
arguments, i.e:

	command1(arg1 arg2 arg3 :key1 val1 :key2 val2);
	command2(arg1 arg2 arg3 :key1 val1 :key2 val2)

The literals and operators of C are all supported except for the
syntax of the conditional operator "?:".  See the comterp
documentation for more details.  

In the following command documentation str's are character strings,
int's are integers, vhcl is a vehicle, rte is a route, fclass is a map
feature class, and waypts is a list of x,y locations:

CONSTRUCTOR COMMANDS

vhcl(vhclsym) -- create and assign vehicle to variable
compvhcl(compvhclsym vhclsym1[,vhclsym2[,...vhclsymn]]) -- create a composite vehicle
route(waypts :name rtename) -- create and assign route to variable


CONNECTION COMMANDS

connect(vhcl_or_rte hoststr portnum) -- display vehicle or route on viewer
disconnect(vhcl_or_rte) -- not implemented yet
vhclviewer(hoststr portnum) -- set up default viewer for vehicle or route connections


VEHICLE COMMANDS

movevhcl(vhcl dx dy :abs) -- move vehicle in utm coords
vhclloc(vhcl) -- return vehicle location
forward2d(vhcl dist) -- move vehicle forward in its current direction 
	by dist amount
backward2d(vhcl dist) -- move vehicle backward in its current direction 
	by dist amount
rotate2d(vhcl angle) -- rotate vehicle direction by the given angle
	in degrees


ROUTE COMMANDS

route(waypts :name rtesym) -- create and assign route to variable

startroute(rte vhcl) -- start capturing route of a vehicle
stoproute(rte vhcl) -- stop capturing route of a vehicle 

playroute(rte vhcl :speed mps) -- set up to play route at meters/second
steproute(rte meters) -- move current position of route forward by meters

SIMULATION COMMANDS

timeexpr(comstr) -- command string to execute every second
simtime(secs :abs :reset :back) -- increment simulation time, or set it absolutely,
	or reset to default, or set it backward.
simroute(rte vhcl startsec :speed mps) -- set up route to start playing at simulation time

ROAD NETWORK COMMANDS

roamroads(vhcl fclass [node_id] [edge_id] :reverse :left :right :random) -- roam a road network starting at a given junction (node) heading out on a given road segment (edge)

VEHICLE MAP COMMANDS
fclass=vhclpoint(vhcl) -- create map point feature to observe a vehicle
fclass=vhclccnvexhull(vhcl) -- create map area feature to observe a vehicle


OTHER COMMANDS

See README's for mapserv and comterp for more commands in vhclserv

SEE ALSO  
	comterp, comdraw, utmviewer, mapserv

