docs: document trajectory execution contracts

This commit is contained in:
梁薄云
2026-08-04 14:21:13 +08:00
parent fda84ce148
commit 4a7dd875a4
14 changed files with 149 additions and 18 deletions
@@ -2,11 +2,16 @@ using System;
namespace MultiWheelC.TrajectoryPlanning.EMPlanner;
/// <summary>Interpolates an immutable trajectory only inside one homogeneous trajectory interval.</summary>
/// <summary>仅在同一方向段、同一方向和同一边界类型的轨迹区间内插值不可变轨迹。</summary>
public sealed class TrajectorySampler
{
private const double TimeEpsilonSeconds = 1e-9d;
/// <summary>按轨迹起点后的时间采样一个同质区间内的轨迹点。</summary>
/// <param name="trajectory">完整不可变轨迹;其点序列必须按 <c>TimeFromStart</c> 严格递增。</param>
/// <param name="timeFromStart">相对轨迹起点的采样时刻,单位 s。</param>
/// <param name="sampledPoint">成功时为原始点或插值新点;失败时为 <see langword="null"/>。</param>
/// <returns>时刻位于轨迹范围内且不需跨方向段/方向/边界插值时为 <see langword="true"/>;区间外或跨边界时为 <see langword="false"/>。</returns>
public bool TrySample(EmTrajectory trajectory, double timeFromStart, out EmTrajectoryPoint sampledPoint)
{
sampledPoint = null;