using System;
namespace MultiWheelC.TrajectoryPlanning.PathSmoothing;
/// 一次 Local G2 平滑尝试的不可变诊断快照,适用于成功、取消和失败结果。
public sealed class PathSmoothingDiagnostics
{
/// 创建不可行、零耗时且没有终止原因的默认诊断快照。
public PathSmoothingDiagnostics()
: this(new PathQualityMetrics(), TimeSpan.Zero, string.Empty)
{
}
/// 创建平滑诊断快照。
/// 路径可行性、曲率、净空和相对变化的质量指标。
/// 从服务入口到终止的累计耗时。
/// 可供调用方记录的成功、取消或失败原因;为 时为空字符串。
public PathSmoothingDiagnostics(
PathQualityMetrics metrics,
TimeSpan elapsed,
string terminationReason = null)
{
Metrics = metrics ?? new PathQualityMetrics();
Elapsed = elapsed;
TerminationReason = terminationReason ?? string.Empty;
}
/// 本次尝试的质量指标;未提供时为全零且不可行的默认指标。
public PathQualityMetrics Metrics { get; }
/// 本次尝试的累计耗时,类型为 。
public TimeSpan Elapsed { get; }
/// 终止原因文本;不承载可消费的部分路径。
public string TerminationReason { get; }
}