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