Skip to content

Commit

Permalink
core: stdcm: explicitely output route path
Browse files Browse the repository at this point in the history
  • Loading branch information
eckter committed Jan 24, 2025
1 parent 1fe7f70 commit 1bdb452
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package fr.sncf.osrd.utils

import fr.sncf.osrd.utils.indexing.StaticIdx
import fr.sncf.osrd.utils.indexing.StaticIdxList
import fr.sncf.osrd.utils.indexing.mutableStaticIdxArrayListOf

fun <T> List<StaticIdx<T>>.toIdxList(): StaticIdxList<T> {
val res = mutableStaticIdxArrayListOf<T>()
res.addAll(this)
return res
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import fr.sncf.osrd.sim_infra.api.Block
import fr.sncf.osrd.sim_infra.api.DirTrackChunkId
import fr.sncf.osrd.sim_infra.api.SpeedLimitProperty
import fr.sncf.osrd.sim_infra.impl.TemporarySpeedLimitManager
import fr.sncf.osrd.sim_infra.utils.chunksToRoutes
import fr.sncf.osrd.standalone_sim.makeElectricalProfiles
import fr.sncf.osrd.standalone_sim.makeMRSPResponse
import fr.sncf.osrd.standalone_sim.result.ElectrificationRange
Expand All @@ -42,6 +41,7 @@ import fr.sncf.osrd.utils.Direction
import fr.sncf.osrd.utils.DistanceRangeMap
import fr.sncf.osrd.utils.DistanceRangeMap.RangeMapEntry
import fr.sncf.osrd.utils.distanceRangeMapOf
import fr.sncf.osrd.utils.toIdxList
import fr.sncf.osrd.utils.units.*
import io.opentelemetry.api.trace.SpanKind
import io.opentelemetry.instrumentation.annotations.WithSpan
Expand Down Expand Up @@ -177,7 +177,7 @@ class STDCMEndpointV2(private val infraManager: InfraManager) : Take {
path.trainPath,
path.chunkPath,
infra,
infra.blockInfra.chunksToRoutes(infra.rawInfra, path.chunkPath.chunks),
path.routePath.toIdxList(),
rollingStock,
parseSimulationScheduleItems(path.stopResults),
listOf(),
Expand Down
2 changes: 2 additions & 0 deletions core/src/main/kotlin/fr/sncf/osrd/stdcm/STDCMResult.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import fr.sncf.osrd.envelope_sim.PhysicsPath
import fr.sncf.osrd.graph.PathfindingResultId
import fr.sncf.osrd.sim_infra.api.Block
import fr.sncf.osrd.sim_infra.api.PathProperties
import fr.sncf.osrd.sim_infra.api.RouteId
import fr.sncf.osrd.sim_infra.impl.ChunkPath
import fr.sncf.osrd.train.TrainStop

Expand All @@ -18,6 +19,7 @@ data class STDCMResult(
val trainPath: PathProperties,
val chunkPath: ChunkPath,
val physicsPath: PhysicsPath,
val routePath: List<RouteId>,
val departureTime: Double,
val stopResults: List<TrainStop>
)
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ class STDCMPostProcessing(private val graph: STDCMGraph) {
trainPath,
chunkPath,
physicsPath,
routes,
updatedTimeData.departureTime,

// Allow us to display OP, a hack that will be fixed
Expand Down
7 changes: 0 additions & 7 deletions core/src/test/kotlin/fr/sncf/osrd/utils/Helpers.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import fr.sncf.osrd.utils.indexing.MutableDirStaticIdxArrayList
import fr.sncf.osrd.utils.indexing.MutableStaticIdxArrayList
import fr.sncf.osrd.utils.indexing.StaticIdx
import fr.sncf.osrd.utils.indexing.StaticIdxList
import fr.sncf.osrd.utils.indexing.mutableStaticIdxArrayListOf
import fr.sncf.osrd.utils.moshi.MoshiUtils
import fr.sncf.osrd.utils.units.Offset
import java.io.File
Expand Down Expand Up @@ -188,9 +187,3 @@ object Helpers {
return buildChunkPath(infra, chunks, startOffset!!, endOffset!!)
}
}

fun <T> List<StaticIdx<T>>.toIdxList(): StaticIdxList<T> {
val res = mutableStaticIdxArrayListOf<T>()
res.addAll(this)
return res
}

0 comments on commit 1bdb452

Please sign in to comment.