http://www.cs.ualberta.ca/~nathanst/papers.html
That being said, map abstractions are used widely within the HOG environment. The mapAbstraction class contains the relevant functions for converting between map coordinates (getNodeFromMap) and extracting information about the abstractions available.
The function getAbstractGraph will return an abstract graph at any particular level of abstraction. At the lowest level of abstraction this is just a connectivity map of the underlying map, with each node in the graph corresponding to a tile on the Map, and each edge representing that a unit can travel directly from one tile (node) to another.
Each node has a set of labels describing the place of that node in the hierarcy of abstractions. Each label can either be accessed as a LONG value or a FLOATING POINT value. The labels are as follows:
kAbstractionLevel (LONG) The level of abstraction in the graph. Level 0 is the original map.
kNumAbstractedNodes (LONG) The number of nodes abstracted by a particular node. The node ID's of these nodes are stored in kFirstData (1...kNumAbstracted Nodes). At level 0 this value will always be 0.
kParent (LONG) The parent that abstracts this node in the next abstraction level of the graph.
kTemporaryLabel This label can be used temporarily by any
kXCoordinate (private cache) kYCoordinate (private cache) kZCoordinate (private cache) kNodeBlocked (currently unused - LONG) kNodeWidth (currently unused - LONG)
kFirstData (LONG) Other relevant data is stored here. At level 0 you can find the x/y coordinates of the underlying map location here. At other levels you find a list of children. Arbitrary data can be stored in successive ID's, although there is no guarantee it will be preserved if nodes are deleted out of the graph.
Prev: Simulations Next: Starting