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 totrue
, consider the graph as non-oriented (will explore all edges, including the inbound ones);pathLengthFunction
(default is the geometrical distance), afunction(node1, node2, previousLength)
that should return the new path length between the start node andnode2
, knowing that the path length between the start node andnode1
is contained inpreviousLength
.heuristicLengthFunction
(default:undefined
), afunction(node1, node2)
guesses the path length betweennode1
andnode2
(node2
actually is the destination node). If left undefined, takes thepathLengthFunction
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.