@@ -18,8 +18,6 @@ import fr.sncf.osrd.envelope_sim_infra.EnvelopeTrainPath
18
18
import fr.sncf.osrd.envelope_sim_infra.MRSP
19
19
import fr.sncf.osrd.external_generated_inputs.ElectricalProfileMapping
20
20
import fr.sncf.osrd.railjson.schema.schedule.RJSAllowanceDistribution
21
- import fr.sncf.osrd.reporting.exceptions.ErrorType
22
- import fr.sncf.osrd.reporting.exceptions.OSRDError
23
21
import fr.sncf.osrd.sim_infra.api.Path
24
22
import fr.sncf.osrd.sim_infra.api.PathProperties
25
23
import fr.sncf.osrd.sim_infra.api.Route
@@ -193,12 +191,10 @@ fun buildFinalEnvelope(
193
191
val sectionTime =
194
192
getEnvelopeTimeAt(point.pathOffset) - getEnvelopeTimeAt(prevFixedPointOffset)
195
193
val arrivalTime = prevFixedPointDepartureTime + sectionTime
196
- val extraTime = point.arrival.seconds - arrivalTime
194
+ var extraTime = point.arrival.seconds - arrivalTime
197
195
if (extraTime < 0.0 ) {
198
- val error = OSRDError (ErrorType .ImpossibleScheduledPoints )
199
- error.context[" scheduled_points" ] = scheduledPoints
200
- error.context[" index" ] = i
201
- throw error
196
+ // TODO: raise a warning
197
+ extraTime = 0.0
202
198
}
203
199
marginRanges.addAll(
204
200
distributeAllowance(
@@ -211,7 +207,7 @@ fun buildFinalEnvelope(
211
207
)
212
208
)
213
209
prevFixedPointOffset = point.pathOffset
214
- prevFixedPointDepartureTime = point.arrival.seconds + (point.stopFor?.seconds ? : 0.0 )
210
+ prevFixedPointDepartureTime = arrivalTime + extraTime + (point.stopFor?.seconds ? : 0.0 )
215
211
}
216
212
val pathEnd = Offset <Path >(maxEffortEnvelope.endPos.meters)
217
213
if (prevFixedPointOffset < pathEnd) {
0 commit comments