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