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; } }