Files
ParkingRobot/ClumsyPilot/ParkrobTrajplanner/Map/PlanningMapRequest.cs
T

36 lines
1.4 KiB
C#

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