Index
Enumerations
Interfaces
Types
Methods
Types
AStarResult
Type declaration
-
cost: number
The total cost of tranversing the path.
-
path: Array<Graph.Vertex<T>>
On success, contains the path of vertices.
-
status: Graph.AStarStatus
Whether the search was successful, timed out, or if there was no path found.
EdgeDescriptor
A descriptor for a graph edge. Used when adding edges to a graph.
Type declaration
-
dst: Graph.Vertex<T>
The destination vertex.
-
src: Graph.Vertex<T>
The source vertex.
-
Optional weight?: undefined | number
The weight of the edge.
VertexDescriptor
A descriptor for a graph vertex. Used when adding vertices to a graph.
Type declaration
-
data: T
Any user data to be associated with this vertex
-
id: string
The id that can be used to lookup this vertex in the graph
VertexIdDescriptor
A descriptor for a graph vertex when no extra data will be associated with each vertex. Used when adding vertices to a graph.
Type declaration
-
id: string
The id that can be used to lookup this vertex in the graph
Methods
cloneGraph
-
Introduced 25.6.1
Clone a graph, creating new vertices and edges. Doesnt clone any of the vertices'
.data.const graph = mpSdk.Graph.createDirectedGraph(); // ... setup graph vertices and edges const clone = sdk.Graph.cloneGraph(graph);Type parameters
-
T
Parameters
-
graph: Graph.IDirectedGraph<T>
Returns Graph.IDirectedGraph<T>
-
createAStarRunner
-
Introduced 3.1.55.2-34-ga9934ccd93
Create a "runner" for the A* algorithm around a
graph, andstartandendvertices.The runner encapsulates the details of the graph and search, caches the results of A*, and provides a way to subscribe to potential changes in the path signifying that the results of [[Graph.AStarRunner.exec]] may have changed.
const graph = mpSdk.Graph.createDirectedGraph(); // ... setup graph vertices and edges const start = graph.vertex('start'); const end = graph.vertex('end'); const aStarRunner = mpSdk.Graph.createAStarRunner(graph, start, end); const result = aStarRunner.exec();Type parameters
-
T
Parameters
-
graph: Graph.IDirectedGraph<T>
The graph to traverse
-
start: Graph.Vertex<T>
The start vertex.
-
end: Graph.Vertex<T>
The end vertex.
-
Optional options: Partial<Graph.SearchOptions<T>>
An optional
heuristicfunction.
Returns Graph.IAStarRunner<T>
A runner for A* that can execute the search or be subscribed to.
-
createDirectedGraph
-
Introduced 3.1.55.2-34-ga9934ccd93
Create an empty graph data structure.
const graph = mpSdk.Graph.createDirectedGraph();Type parameters
-
T
The type of any user data associated with each vertex in the graph.
Parameters
-
Optional onDispose: undefined | function
An optional callback to be called when IDirectedGraph.dispose is called
Returns Graph.IDirectedGraph<T>
-
findCycle
-
Introduced 25.6.1
Find a cycle in a graph.
const graph = mpSdk.Graph.createDirectedGraph(); // assuming graph has edges A -> B, B -> C, C -> D, D -> B // should find the cycle [B, C, D] const cycle = sdk.Graph.findCyle(graph);Type parameters
-
T
Parameters
-
graph: Graph.IDirectedGraph<T>
Returns Iterable<Graph.Vertex<T>>
an Iterable of vertices that represent a found cycle or
[]if none were found -
findCycles
-
Introduced 25.6.1
Find multiple cycles in a graph. Note: If a vertex is in multiple cycles, only one will be reported.
const graph = mpSdk.Graph.createDirectedGraph(); // assuming graph has edges A -> B, B -> C, C -> A, D -> E, E -> D // should find cycles [A, B, C], and [D, E] const cycle = sdk.Graph.findCyle(graph);Type parameters
-
T
Parameters
-
graph: Graph.IDirectedGraph<T>
Returns Iterable<Iterable<Graph.Vertex<T>>>
an iterbale of iterables (like an array of arrays) of vertices
-
The result of doing an A* search.