Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yaramo v2: new datastructure for topology #31

Open
jeriox opened this issue Feb 7, 2023 · 1 comment
Open

yaramo v2: new datastructure for topology #31

jeriox opened this issue Feb 7, 2023 · 1 comment

Comments

@jeriox
Copy link
Member

jeriox commented Feb 7, 2023

With the current data structure (a node has a list of nodes that it is connected to as well as three attributes connected_on_head/left/right that also reference nodes) it is difficult to represent a topology in which two nodes are connected to each other via two separate edges.
That topology happens quite often, e.g. when a line with a single track splits up to two platforms in a station:

          -------------
         /             \
--------x---------------x------------

So far, we couldn't support this at all. In simulate-digital-rail/orm-importer#49 we introduced inserting the same node twice in the list of connected nodes. That works so far, but as the left point only knows that it is connected to the right point twice and that connected_on_left and connected_on_right both lead to the right point, there is no way of identifying the corresponding edge from the node. As soon as there are signals, different speed restrictions etc. on those edges, this could be a problem. We should rethink the datastructure of the topology and maybe use something more like the PlanPro approach.

@jeriox
Copy link
Member Author

jeriox commented Mar 14, 2023

possible hotfix was discussed in simulate-digital-rail/railway-route-generator#8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant