using System; using System.Collections.Generic; namespace MultiWheelC.TrajectoryPlanning.Mapping; /// /// 规划地图的完整建图输入。 /// /// 注意: /// - 此对象只描述地图内容,不包含车辆、起终点、PNG 或终端日志等调试参数。 /// - 障碍物来源快照变化时,调用方必须更新对应的 SourceVersion。 /// public sealed class PlanningMapRequest { /// /// 地图世界边界。 /// 单位:mm;边界采用左闭右开范围,由 MapBoundsMm 的 XMin、XMax、YMin、YMax 定义。 /// public MapBoundsMm Bounds { get; set; } /// /// 栅格边长。 /// 单位:mm;当前 MapBoundsMm 允许的范围为 20 至 200 mm。 /// public float ResolutionMm { get; set; } /// /// 参与建图的统一障碍物来源。 /// 参数:列表中的每个来源必须具有唯一 ID 和非负版本号;可为空列表。 /// public IReadOnlyList ObstacleSources { get; set; } = Array.Empty(); /// /// 是否明确允许没有任何障碍物几何的地图参与规划。 /// 返回语义:false 时,隐式空图会被标记为不可规划;true 时空图可用于规划。 /// public bool AllowExplicitEmptyMap { get; set; } }