|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||

java.lang.Objectcz.cuni.amis.pathfinding.map.IPFMapView.DefaultView<NODE>
public static class IPFMapView.DefaultView<NODE>
Default view does not impose any specific view on the map... all nodes/arcs are opened, no extra cost/nodes defined.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface cz.cuni.amis.pathfinding.map.IPFMapView |
|---|
IPFMapView.DefaultView<NODE> |
| Constructor Summary | |
|---|---|
IPFMapView.DefaultView()
|
|
| Method Summary | |
|---|---|
int |
getArcExtraCost(NODE nodeFrom,
NODE nodeTo,
int mapCost)
Method defining extra-acr cost, that is a cost that is added to IPFMap.getArcCost(Object, Object). |
Collection<NODE> |
getExtraNeighbors(NODE node,
Collection<NODE> mapNeighbors)
This method may return new nodes which are not present in 'mapNeighbors' (as returned by IPFMap.getNeighbors(Object)). |
int |
getNodeExtraCost(NODE node,
int mapCost)
Method defining extra-node cost, that is a cost that is added to IPFMap.getNodeCost(Object). |
boolean |
isArcOpened(NODE nodeFrom,
NODE nodeTo)
Arcs filter. |
boolean |
isNodeOpened(NODE node)
Nodes filter. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public IPFMapView.DefaultView()
| Method Detail |
|---|
public Collection<NODE> getExtraNeighbors(NODE node,
Collection<NODE> mapNeighbors)
IPFMapViewIPFMap.getNeighbors(Object)).
Such nodes are then exclusively accessible to your particular agent, that is, this methods is adding nodes that can be accessed
by the agent but are not part of your general map description.
"node" MUST NOT BE ADDED TO "mapNeighbors"!
Returned collection must not contain multiple references to a single neighbor (multi-graph is forbidden).
Returned collection must not contain any node from "mapNeighbors".
getExtraNeighbors in interface IPFMapView<NODE>mapNeighbors - neighbors of the "node" as returned by IPFMap.getNeighbors(Object), may return null
public int getArcExtraCost(NODE nodeFrom,
NODE nodeTo,
int mapCost)
IPFMapViewIPFMap.getArcCost(Object, Object).
This allows you to provide "customization" to the graph arc costs. It allows you to say "this is a cool arc to use for travel" (negative extra cost) or "this edge is hard to cross" (positive extra cost).
NOTE THAT YOU MUST AVOID HAVING NEGATIVELY-VALUED ARCs! Such arcs might lead to negative-valued circles which will make exploratory algorithms to endlessly walk in circles. That is abs(returned value) must be greater or equal to abs(mapCost).
getArcExtraCost in interface IPFMapView<NODE>mapCost - cost of the arc as returned by underlying IPFMap.getArcCost(Object, Object)
public int getNodeExtraCost(NODE node,
int mapCost)
IPFMapViewIPFMap.getNodeCost(Object).
This allows you to provide "customization" to the graph nodes, simply, it is a way of telling "this node is cool to have in path" (negative cost) or "this node is bad to have in path" (positive cost).
getNodeExtraCost in interface IPFMapView<NODE>mapCost - cost of the node as returned by underlying IPFMap.getNodeCost(Object)
public boolean isArcOpened(NODE nodeFrom,
NODE nodeTo)
IPFMapView
isArcOpened in interface IPFMapView<NODE>public boolean isNodeOpened(NODE node)
IPFMapView
isNodeOpened in interface IPFMapView<NODE>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||