using System;

namespace MultiWheelC.TrajectoryPlanning.PathSmoothing;

/// <summary>局部三次 Bézier 平滑参数。</summary>
public sealed class LocalCubicBezierOptions
{
    /// <summary>判定为明显转角的最小航向变化，单位 rad。</summary>
    public double CornerHeadingThresholdRadians { get; set; } = Math.PI / 18d;

    /// <summary>单个局部平滑窗口的最大弧长，单位 m。</summary>
    public double MaximumWindowLengthMeters { get; set; } = 0.60d;

    /// <summary>控制柄相对于窗口局部弦长的比例。</summary>
    public double HandleLengthRatio { get; set; } = 1d / 3d;
}
