Igor a610223309 Improve student view | 5 år sedan | |
---|---|---|
.. | ||
LICENSE | 5 år sedan | |
README.md | 5 år sedan | |
sigma.pathfinding.astar.js | 5 år sedan |
Plugin author: @A---- Main repository for this plugin is here: https://github.com/A----/sigma-pathfinding-astar Please report issues, make PR, there. This project is released under Public Domain license (see LICENSE for more information).
sigma.pathfinding.astar.js is a plugin for sigma.js that computes path in a graph using a naive implementation of the A* algorithm.
Either download a tarball, git clone
the repository or npm install
it. Then it's pretty straight-forward.
It adds a method to your sigma.graph
called astar(srcId, destId[, options])
.
srcId
, identifier of the start node;destId
, identification of the destination node;options
(optional), an object containing one or more of those properties:
undirected
(default: false
), if set to true
, consider the graph as non-oriented (will explore all edges, including the inbound ones);pathLengthFunction
(default is the geometrical distance), a function(node1, node2, previousLength)
that should return the new path length between the start node and node2
, knowing that the path length between the start node and node1
is contained in previousLength
.heuristicLengthFunction
(default: undefined
), a function(node1, node2)
guesses the path length between node1
and node2
(node2
actually is the destination node). If left undefined, takes the pathLengthFunction
option (third parameter will be left undefined).Return value is either:
undefined
: no path could be found between the source node and the destination node;[srcNode, …, destNode ]
: an array of nodes, including source and destination node.