/** * This interface specifies functionality implemented by the * Active Table driver. * */ package activeTable; public interface ActiveTableInterface { /** * Establishes the connection to the Active Table system. * @return true on success, false on failure. */ public boolean connect(); /** * Sets goal position and orientation of a particular vehicle. * @param vid id number of the vehicle * @param data specification of position and orientation * @see VehicleInfo */ public void setVehicleInfo(int vid, VehicleInfo data); /** * Gets the current position, orientation, and status of a vehicle. * @param vid id of the vehicle * @return VehicleInfo containing position, orientation, and status * @see VehicleInfo */ public VehicleInfo getVehicleInfo(int vid); /** * Defines which vehicle is the controller puck. * @param vid the id of the desired vehicle */ public void setPuck(int vid); /** * Gets the id of the controller puck / vehicle (-1 if not specified). * @return the id. */ public int getPuck(); /** * Gets the maximum number of vehicles that can exist simulatanously on the table. * @return max number of vehicles */ public int getMaxVehicles(); /** * MEBEL STATUS CONSTANTS */ final static int MOVING = 0; //the vehicle is in motion final static int ATGOAL = 1; //vehicle has arrived at goal destination final static int HELD = 2; //the vehicle seems to be held/ physically restrained final static int SIGNALFLUX = 3; // final static int NOTTHERE = 4; // is not on the table final static int ERROR = -1; // not sure what that really means }