core: stdcm: reorganize stop data #10989
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #8974
InfraExplorer
. The actual behavior doesn't change much, it's just to split the responsibilities. We'll eventually tweak this class to provide overtake stops. The intent is to eventually provide "optional" stops that generate two explorers (with and without), but that behavior isn't supported yet, to avoid cluttering this PR.InfraExplorer
now provides an accessor to list stops locations on the path, though it doesn't keep track of any temporal data. The stop data itself isn't stored in the explorer, it's just an accessor for the underlyingIncrementalPath
.InfraExplorerWithEnvelope
does not store anything itself (besides what's in the underlyingInfraExplorer
). It matches data fromInfraExplorer
stop locations andTimeData
stop data to build the resulting envelope. No more redundant data there.With these changes, it should be easier to implement proper overtakes. Safety speeds as well, though we'd need to be careful about lookahead. We need to know about the stop before entering the safety speed area.
EDIT: back to draft, there's some bugs around
So I missed some complexity:
graph.steps
to figure out if/when we should stop. That needs to go as well.