Aria  2.8.0
ArMapInterface.h File Reference

Contains the set of interfaces that define the Aria maps. More...

#include "ariaTypedefs.h"
#include "ariaUtil.h"
#include "ArMapObject.h"
#include "ArMapUtils.h"
#include "ArArgumentBuilder.h"
#include "ArFunctor.h"
#include "ArHasFileName.h"
#include "ArMutex.h"
#include <vector>
#include <set>

Classes

class  ArMapInfoInterface
 Methods related to setting and retrieving the various "info" tags in an Aria map. More...
 
class  ArMapInterface
 ArMapInterface defines the methods that are available on all Aria maps. More...
 
class  ArMapObjectsInterface
 Methods related to setting and retrieving the objects in an Aria map. More...
 
class  ArMapScanInterface
 Methods related to setting and retrieving the scan-related data in an Aria map. More...
 
class  ArMapSupplementInterface
 Methods related to miscellaneous extra data in an Aria map. More...
 

Macros

#define ARMAP_DEFAULT_SCAN_TYPE   ""
 The default scan type indicator, when an Aria map only has obstacle data of one type.
 
#define ARMAP_SUMMARY_SCAN_TYPE   NULL
 The scan type indicator used to obtain collective data from most or all obstacle data (see individual methods for how it is used for specific kinds of map data)
 

Detailed Description

Contains the set of interfaces that define the Aria maps.

Date
06/27/08
Author
K. Cunningham

The methods that define the Aria maps are grouped into a set of smaller interfaces which are contained in this file. These include:

  • ArMapScanInterface : Methods related to scan data (e.g. points and lines) generally obtained from a specific sensor (such as the SICK laser or Hokuyo URG).
  • ArMapObjectsInterface : Methods related to the objects in a map. These include user-defined objects such as goals, docks, and forbidden lines. They also include special "data" types of objects that may be automatically created during the scanning process.
  • ArMapInfoInterface : Methods related to the various info arguments stored in a map. Examples of info include the map object type definitions and the routes and macros.
  • ArMapSupplementInterface : Methods used to access supplemental data associated with the map. This currently consists only of the latitude / longitude of the origin, but may be extended in the future.

The primary interface implemented by all Aria maps is also contained in this file:

  • ArMapInterface : All of the methods that are available for an Aria map. This interface extends all of the above interfaces and contains a few additional file-related methods.

In general, when passing an Aria map (pointer) as a parameter to a method, it is preferable to pass ArMapInterface *. This will allow for extension and different implementations of the interface.

  
     ArMapScanInterface
     ^
     |    ArMapObjectsInterface
     |    ^
     |    |    ArMapInfoInterface
     |    |    ^
     |    |    |    ArMapSupplementInterface
     |    |    |    ^  
     |    |    |    | (extends)
     |    |    |    |
      ArMapInterface