ArServerInfoDrawings Class Reference

#include <ArServerInfoDrawings.h>

List of all members.


Detailed Description

Service to provide clients with information about graphical figures to be displayed with the map.

Use addDrawing() to add a figure, or use addRangeDevice() or addRobotsRangeDevice() to automatically create standard drawings for range devices.

Clients may use the listDrawings data request to receive a list of figures and metadata about those figures. The reply packet to the listDrawings request is as follows:

  1. Number of figures (4-byte integer)Then, for each figure, the following values are given
  2. For each figure:
    1. Figure name (null-terminated string)
    2. Shape ID (null-terminated string)
    3. Primary color:
      1. Unused (byte)
      2. Red (byte)
      3. Green (byte)
      4. Blue (byte)
    4. Shape size (4-byte integer)
    5. Layer number (4-byte integer)
    6. Suggested refresh time (4-byte integer)
    7. Secordary color:
      1. Unused (byte)
      2. Red (byte)
      3. Green (byte)
      4. Blue (byte)

This command is in the SensorInfo permission group for users.


Public Member Functions

bool addDrawing (ArDrawingData *drawingData, const char *name, ArFunctor2< ArServerClient *, ArNetPacket * > *functor)
 Adds a shape to the set of figures.
bool addRangeDevice (ArRangeDevice *rangeDevice)
 Adds a specific range device to be drawn (using its default shape).
bool addRobotsRangeDevices (ArRobot *robot)
 Adds all of the robot's range devices (using their default shape).
 ArServerInfoDrawings (ArServerBase *server)
 Constructor.
void netGetDrawingList (ArServerClient *client, ArNetPacket *packet)
void netListDrawings (ArServerClient *client, ArNetPacket *packet)
 Client callback: Puts the list of shapes that can be drawn and their metadata into a reply packet (internal use mostly).
void netRangeDeviceCumulative (ArServerClient *client, ArNetPacket *packet, ArRangeDevice *device)
 Client callback utilit: Puts the cumulative buffer of the given range device into a reply packet (internal use mostly).
void netRangeDeviceCurrent (ArServerClient *client, ArNetPacket *packet, ArRangeDevice *device)
 Client callback utility: Puts the current data for the given range device into a reply packet (internal use mostly).
virtual ~ArServerInfoDrawings ()
 Destructor.

Protected Attributes

std::map< std::string, ArFunctor *,
ArStrCaseCmpOp
myDrawingCallbacks
std::map< std::string, ArDrawingData *,
ArStrCaseCmpOp
myDrawingDatas
ArFunctor2C< ArServerInfoDrawings,
ArServerClient *, ArNetPacket * > 
myNetGetDrawingListCB
ArFunctor2C< ArServerInfoDrawings,
ArServerClient *, ArNetPacket * > 
myNetListDrawingsCB
ArServerBasemyServer


The documentation for this class was generated from the following file:
Generated on Thu Aug 6 09:40:12 2009 for ArNetworking by  doxygen 1.5.1