namespace MultiWheelC.TrajectoryPlanning.PathSmoothing;

/// <summary>局部 G2 五次过渡的可配置阈值。</summary>
public sealed class LocalG2QuinticOptions
{
    public double MinimumWindowLengthMeters { get; set; } = 0.20d;
    public double PreferredWindowLengthMeters { get; set; } = 0.50d;
    public double MaximumWindowLengthMeters { get; set; } = 0.80d;
    public double MaximumDeviationMeters { get; set; } = 0.10d;
    public double AbsoluteCurvatureJumpFloorPerMeter { get; set; } = 0.001d;
    public double CurvatureJumpRatioOfMaximum { get; set; } = 0.05d;
    public double MinimumPeakGradientImprovementRatio { get; set; } = 0.20d;
    public double MaximumVariationCostRegressionRatio { get; set; } = 0.02d;
    public int MaximumCandidatesPerRegion { get; set; } = 12;
}
