You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In future I imagine having a general Graph class with spatial graphs and state diagrams as subclasses. (I know, in Rust there are no classes, but the term is useful anyway). But for the 0.1 milestone state diagrams are not necessary, so I may as well focus on delivering a fully functional spatial graph.
This is a meta-feature. It shall be expanded:
Implement SpatialGraph<T> with nodes identified by NodeId and having as values Positions and additional data structures T. The way to implement edges between nodes still not clear. Maybe a set of tuples (NodeId, NodeId). Maybe a map of NodeId to Vector<NodeId>. Positions should be unique per node - the programmer can't create a graph with two different nodes having the same positions. Add an alias for SpatialGraph<Cell>.
Implement SpatialGraphBuilder<T> ... for building spatial graphs! Add an alias for SpatialGraphBuilder<Cell>.
Methods for filtering nodes and returning sets of NodeId and for finding any node fulfilling the requirement (and exists, and forall).
foreach method
a method returning a SpatialGraph<T> subset only with specified nodes (that means the graph may not be connected)
a method for finding the closest node
a method for finding a path between two nodes and returning it as a set of NodeId
a utility method nextOrCurrent returning the next point on the path, or the current one, if it's the last one in the path
a utility method for checking if the graph is connected
methods for adding and deleting nodes and edges, and inverting the graph.
The text was updated successfully, but these errors were encountered:
In future I imagine having a general
Graph
class with spatial graphs and state diagrams as subclasses. (I know, in Rust there are no classes, but the term is useful anyway). But for the 0.1 milestone state diagrams are not necessary, so I may as well focus on delivering a fully functional spatial graph.This is a meta-feature. It shall be expanded:
SpatialGraph<T>
with nodes identified byNodeId
and having as valuesPosition
s and additional data structuresT
. The way to implement edges between nodes still not clear. Maybe a set of tuples(NodeId, NodeId)
. Maybe a map ofNodeId
toVector<NodeId>
.Position
s should be unique per node - the programmer can't create a graph with two different nodes having the same positions. Add an alias forSpatialGraph<Cell>
.SpatialGraphBuilder<T>
... for building spatial graphs! Add an alias forSpatialGraphBuilder<Cell>
.filter
ing nodes and returning sets ofNodeId
and forfind
ing any node fulfilling the requirement (andexists
, andforall
).foreach
methodSpatialGraph<T>
subset only with specified nodes (that means the graph may not be connected)NodeId
nextOrCurrent
returning the next point on the path, or the current one, if it's the last one in the pathThe text was updated successfully, but these errors were encountered: