修改第三方仿真环境适配器接口,增加数据交换接口,版本更新到0.2.2

This commit is contained in:
Tian jianyong 2025-02-14 15:41:01 +08:00
parent 635a34c843
commit 9ce5ec248e
3 changed files with 80 additions and 2 deletions

View File

@ -5,6 +5,25 @@
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)。
版本规范基于 [Semantic Versioning](https://semver.org/lang/zh-CN/)。
## [未发布]
### 计划功能
- Matlab/Simulink 仿真环境适配器
- 支持与 Simulink 模型的数据交互
- 实现实时仿真数据同步
- 处理不同时间步长的协调
-
## [0.2.2] - 2025-02-13
### 功能优化
- 修改第三方仿真环境适配器接口
- 增加状态数据接口
- 增加环境参数设置接口
- 增加仿真时间同步接口
- 增加仿真环境数据类
- 增加大气密度、温度、湿度、风速、能见度、地形高程等参数
## [0.2.1] - 2025-01-10
### 功能优化

View File

@ -1,8 +1,47 @@
using System;
using System.Collections.Generic;
using ThreatSource.Utils;
namespace ThreatSource.Simulation
{
/// <summary>
/// 仿真环境数据类,包含环境相关的参数
/// </summary>
/// <remarks>
/// 该类封装了仿真环境的关键参数:
/// - 大气参数(密度、温度、湿度)
/// - 气象条件(风速、能见度)
/// - 地理信息(地形、高程)
/// 用于模拟真实环境对仿真的影响
/// </remarks>
public class SimulationEnvironmentData
{
/// <summary>
/// 获取或设置大气密度,单位:千克/立方米
/// </summary>
public double AtmosphericDensity { get; set; }
/// <summary>
/// 获取或设置风速向量,单位:米/秒
/// </summary>
public Vector3D WindVelocity { get; set; } = Vector3D.Zero;
/// <summary>
/// 获取或设置环境温度,单位:开尔文
/// </summary>
public double Temperature { get; set; }
/// <summary>
/// 获取或设置相对湿度范围0-1
/// </summary>
public double RelativeHumidity { get; set; }
/// <summary>
/// 获取或设置能见度,单位:米
/// </summary>
public double Visibility { get; set; }
}
/// <summary>
/// 第三方仿真环境适配器接口
/// </summary>
@ -22,7 +61,7 @@ namespace ThreatSource.Simulation
/// <summary>
/// 发布事件到第三方仿真环境
/// </summary>
/// <typeparam name="T">事件类型</typeparam>
/// <typeparam name="T">事件类型</typeparam>
/// <param name="evt">要发布的事件</param>
/// <remarks>
/// 用于将威胁源仿真库中的事件同步到外部仿真环境
@ -38,6 +77,26 @@ namespace ThreatSource.Simulation
/// 用于接收外部仿真环境的事件并在威胁源仿真库中处理
/// </remarks>
void ReceiveFromExternalSimulation<T>(T evt);
/// <summary>
/// 获取实体的状态
/// </summary>
/// <param name="id">实体ID</param>
/// <returns>实体的状态数据</returns>
SimulationElement GetEntityState(string id);
/// <summary>
/// 设置实体的环境数据
/// </summary>
/// <param name="id">实体ID</param>
/// <param name="data">实体的环境数据</param>
void SetEntityEnvironment(string id, SimulationEnvironmentData data);
/// <summary>
/// 同步仿真时间
/// </summary>
/// <param name="simulationTime">仿真时间</param>
void SynchronizeTime(double simulationTime);
}
/// <summary>

View File

@ -1 +1 @@
0.2.1
0.2.2