namespace Flyshot.ControllerClientCompat;
///
/// 表示飞拍轨迹执行接口的可选参数,字段名对齐旧 `ControllerClient::ExecuteFlyShotTraj`。
///
public sealed class FlyshotExecutionOptions
{
///
/// 初始化飞拍轨迹执行参数。
///
/// 执行前是否自动移动到轨迹起点。
/// 轨迹生成方法,支持 `icsp`、`doubles` 或 `self-adapt-icsp`。
/// 是否保存轨迹信息。
/// 是否优先复用已规划轨迹缓存。
/// 是否等待机器人执行完整条飞拍轨迹后再返回。
public FlyshotExecutionOptions(
bool moveToStart = true,
string method = "icsp",
bool saveTrajectory = true,
bool useCache = true,
bool wait = true)
{
MoveToStart = moveToStart;
Method = string.IsNullOrWhiteSpace(method) ? "icsp" : method;
SaveTrajectory = saveTrajectory;
UseCache = useCache;
Wait = wait;
}
///
/// 获取执行前是否自动移动到轨迹起点。
///
public bool MoveToStart { get; }
///
/// 获取轨迹生成方法。
///
public string Method { get; }
///
/// 获取是否保存轨迹信息。
///
public bool SaveTrajectory { get; }
///
/// 获取是否优先复用已规划轨迹缓存。
///
public bool UseCache { get; }
///
/// 获取是否等待机器人执行完整条飞拍轨迹后再返回。
///
public bool Wait { get; }
}