NavisworksTransport/src/Core/Models/BatchQueueItem.cs

61 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
namespace NavisworksTransport.Core.Models
{
/// <summary>
/// 批处理队列项 - 简化版,只包含一条路径的碰撞检测任务
/// </summary>
public class BatchQueueItem
{
public int Id { get; set; }
public string PathRouteId { get; set; }
public string PathRouteName { get; set; }
public BatchQueueStatus Status { get; set; }
public DateTime CreatedTime { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public string ErrorMessage { get; set; }
// 动画配置
public int FrameRate { get; set; }
public double DurationSeconds { get; set; }
// 碰撞检测配置
public double DetectionToleranceMeters { get; set; }
// 运动物体配置
public bool IsVirtualVehicle { get; set; }
public double VirtualVehicleLength { get; set; }
public double VirtualVehicleWidth { get; set; }
public double VirtualVehicleHeight { get; set; }
// 碰撞检测配置
public bool DetectAllObjects { get; set; } = true;
// 角度修正配置
public double ObjectRotationCorrection { get; set; }
// 结果
public string ClashDetectiveTestName { get; set; }
public int? CollisionCount { get; set; }
// 注意:运动物体和碰撞检测目标都存储在 ModelItemReferences 表中
// 使用 BatchQueueItem.Id 作为 ReferenceId 进行查询
// Role = "Vehicle" 表示运动物体
// Role = "CollisionTarget" 表示碰撞检测目标
}
/// <summary>
/// 批处理队列项状态
/// </summary>
public enum BatchQueueStatus
{
All, // 全部(用于筛选)
Pending, // 等待执行
Running, // 正在执行
Completed, // 已完成
Failed, // 执行失败
Skipped // 已跳过
}
}