IVdaPathSegmentationService.cs 908 Bytes
using Rcs.Application.Services.PathFind.Models;
using Rcs.Domain.Entities;

namespace Rcs.Application.Services.PathFind;

/// <summary>
/// VDA 路径切割服务。
/// 统一主任务与让行路径的两层切割规则,避免规则漂移。
/// </summary>
public interface IVdaPathSegmentationService
{
    /// <summary>
    /// 按两层结构切割路径:
    /// 第一层为路口切割,第二层为资源边界切割。
    /// </summary>
    /// <param name="segments">完整路径段。</param>
    /// <param name="graph">地图图结构。</param>
    /// <param name="robot">机器人实体。</param>
    /// <param name="hasTerminalAction">是否存在终点库位申请/完成事件。</param>
    List<List<List<PathSegmentWithCode>>> SplitSegmentsByBoundary(
        List<PathSegmentWithCode> segments,
        PathGraph graph,
        Robot robot,
        bool hasTerminalAction);
}