ArNetworking: ArServerInfoDrawings Class Reference

- Main Page
- Classes
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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
ArServerBase * | myServer

The documentation for this class was generated from the following file:

- ArServerInfoDrawings.h