From 9ce5ec248e8771801652b77cb80946e84ac010e8 Mon Sep 17 00:00:00 2001
From: Tian jianyong <11429339@qq.com>
Date: Fri, 14 Feb 2025 15:41:01 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AC=AC=E4=B8=89=E6=96=B9?=
=?UTF-8?q?=E4=BB=BF=E7=9C=9F=E7=8E=AF=E5=A2=83=E9=80=82=E9=85=8D=E5=99=A8?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E4=BA=A4=E6=8D=A2=E6=8E=A5=E5=8F=A3=EF=BC=8C=E7=89=88=E6=9C=AC?=
=?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=B00.2.2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CHANGELOG.md | 19 ++++++
.../src/Simulation/ISimulationManager.cs | 61 ++++++++++++++++++-
VERSION | 2 +-
3 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f6a37a2..4484cd0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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
### 功能优化
diff --git a/ThreatSource/src/Simulation/ISimulationManager.cs b/ThreatSource/src/Simulation/ISimulationManager.cs
index 10207a8..14d6696 100644
--- a/ThreatSource/src/Simulation/ISimulationManager.cs
+++ b/ThreatSource/src/Simulation/ISimulationManager.cs
@@ -1,8 +1,47 @@
using System;
using System.Collections.Generic;
+using ThreatSource.Utils;
namespace ThreatSource.Simulation
{
+ ///
+ /// 仿真环境数据类,包含环境相关的参数
+ ///
+ ///
+ /// 该类封装了仿真环境的关键参数:
+ /// - 大气参数(密度、温度、湿度)
+ /// - 气象条件(风速、能见度)
+ /// - 地理信息(地形、高程)
+ /// 用于模拟真实环境对仿真的影响
+ ///
+ public class SimulationEnvironmentData
+ {
+ ///
+ /// 获取或设置大气密度,单位:千克/立方米
+ ///
+ public double AtmosphericDensity { get; set; }
+
+ ///
+ /// 获取或设置风速向量,单位:米/秒
+ ///
+ public Vector3D WindVelocity { get; set; } = Vector3D.Zero;
+
+ ///
+ /// 获取或设置环境温度,单位:开尔文
+ ///
+ public double Temperature { get; set; }
+
+ ///
+ /// 获取或设置相对湿度,范围:0-1
+ ///
+ public double RelativeHumidity { get; set; }
+
+ ///
+ /// 获取或设置能见度,单位:米
+ ///
+ public double Visibility { get; set; }
+ }
+
///
/// 第三方仿真环境适配器接口
///
@@ -22,7 +61,7 @@ namespace ThreatSource.Simulation
///
/// 发布事件到第三方仿真环境
///
- /// 事件类型
+ /// 事件类型
/// 要发布的事件
///
/// 用于将威胁源仿真库中的事件同步到外部仿真环境
@@ -38,6 +77,26 @@ namespace ThreatSource.Simulation
/// 用于接收外部仿真环境的事件并在威胁源仿真库中处理
///
void ReceiveFromExternalSimulation(T evt);
+
+ ///
+ /// 获取实体的状态
+ ///
+ /// 实体ID
+ /// 实体的状态数据
+ SimulationElement GetEntityState(string id);
+
+ ///
+ /// 设置实体的环境数据
+ ///
+ /// 实体ID
+ /// 实体的环境数据
+ void SetEntityEnvironment(string id, SimulationEnvironmentData data);
+
+ ///
+ /// 同步仿真时间
+ ///
+ /// 仿真时间
+ void SynchronizeTime(double simulationTime);
}
///
diff --git a/VERSION b/VERSION
index 5a78111..f477849 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.2.1
\ No newline at end of file
+0.2.2
\ No newline at end of file