SensorSpec +HasRadar/HasEO/HasIR 显式类型字段
- SensorSpec 新增三个 bool 字段,前端直接读取探测设备类型,无需推断 - DefaultData.Load 后由 Range 字段派生填充 - 支持复合传感器(如光电+红外 eo-station) - 对接文档同步更新 - 262 测试通过,Unity 编译通过
This commit is contained in:
parent
a6ad8a348e
commit
0002e7efbe
@ -795,6 +795,9 @@ ScenarioConfig
|
||||
| `RadarRange` | double | 雷达探测距离 m(0=无) |
|
||||
| `EORange` | double | 光电探测距离 m |
|
||||
| `IRRange` | double | 红外探测距离 m |
|
||||
| `HasRadar` | bool | 是否含雷达探测能力(由 RadarRange>0 派生) |
|
||||
| `HasEO` | bool | 是否含光电探测能力(由 EORange>0 派生) |
|
||||
| `HasIR` | bool | 是否含红外探测能力(由 IRRange>0 派生) |
|
||||
| `Accuracy` | double | 探测精度(位置误差 m) |
|
||||
| `MinElevation` | double? | 最小仰角 |
|
||||
| `MaxElevation` | double? | 最大仰角 |
|
||||
|
||||
@ -69,6 +69,14 @@ namespace CounterDrone.Core
|
||||
throw new InvalidOperationException($"默认数据缺少 environments: {source}");
|
||||
if (data.Sensors == null)
|
||||
data.Sensors = new();
|
||||
|
||||
// 由 Range 字段派生 HasRadar/HasEO/HasIR(JSON 可能未显式设置)
|
||||
foreach (var s in data.Sensors)
|
||||
{
|
||||
s.HasRadar = s.RadarRange > 0;
|
||||
s.HasEO = s.EORange > 0;
|
||||
s.HasIR = s.IRRange > 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,6 +13,14 @@ namespace CounterDrone.Core.Models
|
||||
public double RadarRange { get; set; }
|
||||
public double EORange { get; set; }
|
||||
public double IRRange { get; set; }
|
||||
|
||||
/// <summary>是否含雷达探测能力</summary>
|
||||
public bool HasRadar { get; set; }
|
||||
/// <summary>是否含光电探测能力</summary>
|
||||
public bool HasEO { get; set; }
|
||||
/// <summary>是否含红外探测能力</summary>
|
||||
public bool HasIR { get; set; }
|
||||
|
||||
public double Accuracy { get; set; } = 50.0;
|
||||
|
||||
/// <summary>3D 模型 ID(FK → ModelInfo),Unity 可视化用</summary>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user