using System;
using System.Collections.Generic;

namespace MultiWheelC.TrajectoryPlanning.Mapping;

/// <summary>
/// 环境占据图构建器的输入数据。
/// 注意：通常由 PlanningMapFactory 从公开请求转换得到，调用者无需直接使用。
/// </summary>
public sealed class MapBuildRequest
{
    /// <summary>环境图世界边界。单位：mm；不能为空。</summary>
    public MapBoundsMm Bounds { get; set; }
    /// <summary>环境栅格边长。单位：mm；必须满足 MapBoundsMm 的分辨率限制。</summary>
    public float ResolutionMm { get; set; }
    /// <summary>待投影的障碍物来源列表；每个来源 ID 必须唯一。</summary>
    public IReadOnlyList<IMapObstacleSource> ObstacleSources { get; set; } = Array.Empty<IMapObstacleSource>();
}
