AStar Visitor Concept
This concept defines the visitor interface for
astar_search(). Users can define a class
with the AStar Visitor interface and pass an object of the class to
astar_search(), thereby augmenting the actions taken during the
graph search.
Notation
V |
A type that is a model of AStar Visitor. |
|---|---|
|
An object of type |
|
A type that is a model of Graph. |
|
An object of type |
|
An object of type
|
|
An object of type
|
|
An object of type |
|
A type that is a model of Readable Property Map. |
|
An object of type |
Valid Expressions
| Name | Expression | Return Type | Description |
|---|---|---|---|
Initialize Vertex |
|
|
This is invoked on each vertex of the graph when it is first initialized (i.e., when its property maps are initialized). |
Discover Vertex |
|
|
This is invoked when a vertex is first discovered and is added to the OPEN list. |
Examine Vertex |
|
|
This is invoked
on a vertex as it is popped from the queue (i.e., it has the lowest cost
on the OPEN list). This happens immediately before |
Examine Edge |
|
|
This is invoked on every out-edge of each vertex after it is examined. |
Edge Relaxed |
|
|
Upon examination, if the following condition holds then the edge is relaxed (the distance of its target vertex is reduced) and this method is invoked:
|
Edge Not Relaxed |
|
|
Upon examination, if an edge is not relaxed (see above) then this method is invoked. |
Black Target |
|
|
This is invoked when a vertex that is on the CLOSED list is ``rediscovered'' via a more efficient path and is re-added to the OPEN list. |
Finish Vertex |
|
|
This is invoked on a vertex when it is added to the CLOSED list. This happens after all of its out-edges have been examined. |