docs: document smoothing processing core

This commit is contained in:
梁薄云
2026-08-04 14:29:51 +08:00
parent 4a7dd875a4
commit 8f6e97e88f
17 changed files with 153 additions and 11 deletions
@@ -7,11 +7,18 @@ using MultiWheelC.TrajectoryPlanning.Utils;
namespace MultiWheelC.TrajectoryPlanning.PathSmoothing.LocalG2;
/// <summary>硬方向边界生成并合并局部 G2 曲率事件的候选窗口。</summary>
/// <summary>硬方向边界内为局部 G2 曲率事件生成、合并候选窗口;绝不让窗口跨越换向段。</summary>
internal sealed class LocalG2WindowPlanner
{
private const double MergeToleranceMeters = 1e-9d;
/// <summary>按段索引排序曲率事件并生成每个区域可用的窗口变体。</summary>
/// <param name="originalPath">已准备的方向段路径,提供每段局部弧长范围。</param>
/// <param name="transitions">检测到的曲率过渡事件;局部弧长单位为 m。</param>
/// <param name="options">窗口长度、候选上限和偏移相关的 Local G2 只读选项。</param>
/// <param name="regions">成功时为按路径顺序排列的只读平滑区域;失败时为空集合。</param>
/// <param name="reason">失败时描述事件、段或窗口长度问题;成功时为空字符串。</param>
/// <returns>所有事件可在所属方向段内构造合法窗口时为 <see langword="true"/>;否则为 <see langword="false"/>。</returns>
internal bool TryPlan(
PreparedPath originalPath,
IReadOnlyList<CurvatureTransition> transitions,