namespace MultiWheelC.TrajectoryPlanning.EMPlanner; public sealed class SchedulingConfiguration { public double ReplanPeriodSeconds { get; set; } public double TimeHorizonSeconds { get; set; } public double DistanceHorizonMeters { get; set; } public double OutputTimeStepSeconds { get; set; } public double SolverTimeoutSeconds { get; set; } public double HandoffLookaheadSeconds { get; set; } public double MaximumVehicleStateAgeSeconds { get; set; } public double MaximumOptimizationTimeStepSeconds { get; set; } public double MaximumOptimizationSpatialStepMeters { get; set; } public int MaximumOptimizationKnotCount { get; set; } public int MaximumPublishedSampleCount { get; set; } internal SchedulingConfiguration Copy() { return new SchedulingConfiguration { ReplanPeriodSeconds = ReplanPeriodSeconds, TimeHorizonSeconds = TimeHorizonSeconds, DistanceHorizonMeters = DistanceHorizonMeters, OutputTimeStepSeconds = OutputTimeStepSeconds, SolverTimeoutSeconds = SolverTimeoutSeconds, HandoffLookaheadSeconds = HandoffLookaheadSeconds, MaximumVehicleStateAgeSeconds = MaximumVehicleStateAgeSeconds, MaximumOptimizationTimeStepSeconds = MaximumOptimizationTimeStepSeconds, MaximumOptimizationSpatialStepMeters = MaximumOptimizationSpatialStepMeters, MaximumOptimizationKnotCount = MaximumOptimizationKnotCount, MaximumPublishedSampleCount = MaximumPublishedSampleCount, }; } }