namespace MultiWheelC.TrajectoryPlanning.EMPlanner;

public sealed class CorridorConfiguration
{
    public double LongitudinalSampleSpacingMeters { get; set; }
    public double LateralSampleSpacingMeters { get; set; }
    public double MaximumLateralOffsetMeters { get; set; }
    public double AdditionalClearanceReserveMeters { get; set; }
    public double MaximumCollisionCheckStepMeters { get; set; }

    internal CorridorConfiguration Copy()
    {
        return new CorridorConfiguration
        {
            LongitudinalSampleSpacingMeters = LongitudinalSampleSpacingMeters,
            LateralSampleSpacingMeters = LateralSampleSpacingMeters,
            MaximumLateralOffsetMeters = MaximumLateralOffsetMeters,
            AdditionalClearanceReserveMeters = AdditionalClearanceReserveMeters,
            MaximumCollisionCheckStepMeters = MaximumCollisionCheckStepMeters,
        };
    }
}
