Skip to content

Commit 3002aa5

Browse files
committed
core: stdcm: explicitely output route path
Signed-off-by: Eloi Charpentier <eloi.charpentier.42@gmail.com>
1 parent 1fe7f70 commit 3002aa5

File tree

5 files changed

+16
-9
lines changed

5 files changed

+16
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package fr.sncf.osrd.utils
2+
3+
import fr.sncf.osrd.utils.indexing.StaticIdx
4+
import fr.sncf.osrd.utils.indexing.StaticIdxList
5+
import fr.sncf.osrd.utils.indexing.mutableStaticIdxArrayListOf
6+
7+
fun <T> List<StaticIdx<T>>.toIdxList(): StaticIdxList<T> {
8+
val res = mutableStaticIdxArrayListOf<T>()
9+
res.addAll(this)
10+
return res
11+
}

core/src/main/kotlin/fr/sncf/osrd/api/api_v2/stdcm/STDCMEndpointV2.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import fr.sncf.osrd.sim_infra.api.Block
2525
import fr.sncf.osrd.sim_infra.api.DirTrackChunkId
2626
import fr.sncf.osrd.sim_infra.api.SpeedLimitProperty
2727
import fr.sncf.osrd.sim_infra.impl.TemporarySpeedLimitManager
28-
import fr.sncf.osrd.sim_infra.utils.chunksToRoutes
2928
import fr.sncf.osrd.standalone_sim.makeElectricalProfiles
3029
import fr.sncf.osrd.standalone_sim.makeMRSPResponse
3130
import fr.sncf.osrd.standalone_sim.result.ElectrificationRange
@@ -42,6 +41,7 @@ import fr.sncf.osrd.utils.Direction
4241
import fr.sncf.osrd.utils.DistanceRangeMap
4342
import fr.sncf.osrd.utils.DistanceRangeMap.RangeMapEntry
4443
import fr.sncf.osrd.utils.distanceRangeMapOf
44+
import fr.sncf.osrd.utils.toIdxList
4545
import fr.sncf.osrd.utils.units.*
4646
import io.opentelemetry.api.trace.SpanKind
4747
import io.opentelemetry.instrumentation.annotations.WithSpan
@@ -177,7 +177,7 @@ class STDCMEndpointV2(private val infraManager: InfraManager) : Take {
177177
path.trainPath,
178178
path.chunkPath,
179179
infra,
180-
infra.blockInfra.chunksToRoutes(infra.rawInfra, path.chunkPath.chunks),
180+
path.routePath.toIdxList(),
181181
rollingStock,
182182
parseSimulationScheduleItems(path.stopResults),
183183
listOf(),

core/src/main/kotlin/fr/sncf/osrd/stdcm/STDCMResult.kt

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import fr.sncf.osrd.envelope_sim.PhysicsPath
55
import fr.sncf.osrd.graph.PathfindingResultId
66
import fr.sncf.osrd.sim_infra.api.Block
77
import fr.sncf.osrd.sim_infra.api.PathProperties
8+
import fr.sncf.osrd.sim_infra.api.RouteId
89
import fr.sncf.osrd.sim_infra.impl.ChunkPath
910
import fr.sncf.osrd.train.TrainStop
1011

@@ -18,6 +19,7 @@ data class STDCMResult(
1819
val trainPath: PathProperties,
1920
val chunkPath: ChunkPath,
2021
val physicsPath: PhysicsPath,
22+
val routePath: List<RouteId>,
2123
val departureTime: Double,
2224
val stopResults: List<TrainStop>
2325
)

core/src/main/kotlin/fr/sncf/osrd/stdcm/graph/STDCMPostProcessing.kt

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ class STDCMPostProcessing(private val graph: STDCMGraph) {
9898
trainPath,
9999
chunkPath,
100100
physicsPath,
101+
routes,
101102
updatedTimeData.departureTime,
102103

103104
// Allow us to display OP, a hack that will be fixed

core/src/test/kotlin/fr/sncf/osrd/utils/Helpers.kt

-7
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import fr.sncf.osrd.utils.indexing.MutableDirStaticIdxArrayList
2626
import fr.sncf.osrd.utils.indexing.MutableStaticIdxArrayList
2727
import fr.sncf.osrd.utils.indexing.StaticIdx
2828
import fr.sncf.osrd.utils.indexing.StaticIdxList
29-
import fr.sncf.osrd.utils.indexing.mutableStaticIdxArrayListOf
3029
import fr.sncf.osrd.utils.moshi.MoshiUtils
3130
import fr.sncf.osrd.utils.units.Offset
3231
import java.io.File
@@ -188,9 +187,3 @@ object Helpers {
188187
return buildChunkPath(infra, chunks, startOffset!!, endOffset!!)
189188
}
190189
}
191-
192-
fun <T> List<StaticIdx<T>>.toIdxList(): StaticIdxList<T> {
193-
val res = mutableStaticIdxArrayListOf<T>()
194-
res.addAll(this)
195-
return res
196-
}

0 commit comments

Comments
 (0)