Files
ParkingRobot/ClumsyPilot/ParkrobTrajplanner/CoarsePath/Facade/IPlanningDebugSink.cs
T

30 lines
1010 B
C#

using MultiWheelC.TrajectoryPlanning.Mapping;
namespace MultiWheelC.TrajectoryPlanning.CoarsePath.Facade;
/// <summary>
/// 接收一次地图构建和粗路径规划完成后的旁路调试数据。
/// 实现不得修改输入对象;服务会隔离实现抛出的异常,调试失败不会改变规划结果。
/// </summary>
public interface IPlanningDebugSink
{
/// <summary>
/// 发布本次编排得到的地图和规划结果。
/// 参数:mapResult 为地图创建结果;planningResult 为对应的完整或失败规划结果;二者均不可由接收方修改。
/// </summary>
void Publish(PlanningMapBuildResult mapResult, PlanningResult planningResult);
}
internal sealed class NullPlanningDebugSink : IPlanningDebugSink
{
internal static readonly NullPlanningDebugSink Instance = new NullPlanningDebugSink();
private NullPlanningDebugSink()
{
}
public void Publish(PlanningMapBuildResult mapResult, PlanningResult planningResult)
{
}
}