using Flyshot.Core.Domain;
using Flyshot.Core.Planning;
using Flyshot.Core.Triggering;
namespace Flyshot.ControllerClientCompat;
///
/// 表示兼容层执行轨迹前生成的完整规划结果包。
///
public sealed class PlannedExecutionBundle
{
///
/// 初始化一份执行规划结果包。
///
/// 规划后的轨迹。
/// 飞拍触发时间轴。
/// 对运行时和监控层暴露的规划结果。
public PlannedExecutionBundle(PlannedTrajectory plannedTrajectory, ShotTimeline shotTimeline, TrajectoryResult result)
{
PlannedTrajectory = plannedTrajectory ?? throw new ArgumentNullException(nameof(plannedTrajectory));
ShotTimeline = shotTimeline ?? throw new ArgumentNullException(nameof(shotTimeline));
Result = result ?? throw new ArgumentNullException(nameof(result));
}
///
/// 获取规划后的轨迹。
///
public PlannedTrajectory PlannedTrajectory { get; }
///
/// 获取飞拍触发时间轴。
///
public ShotTimeline ShotTimeline { get; }
///
/// 获取运行时可消费的规划结果。
///
public TrajectoryResult Result { get; }
}