ThreatSourceLibaray/ThreatSource/src/Guidance/IGuidanceSystem.cs

55 lines
1.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using ThreatSource.Utils;
namespace ThreatSource.Guidance
{
/// <summary>
/// 制导系统接口,定义了所有制导系统的通用功能
/// </summary>
/// <remarks>
/// 该接口提供了制导系统的基本功能规范:
/// - 制导状态判断
/// - 制导信息更新
/// - 制导加速度计算
/// 是所有具体制导系统实现的基础
/// </remarks>
public interface IGuidanceSystem
{
/// <summary>
/// 获取是否有有效的制导信息
/// </summary>
/// <remarks>
/// true表示当前有可用的制导信息
/// false表示无法获得有效制导
/// 用于判断制导系统的工作状态
/// </remarks>
bool HasGuidance { get; }
/// <summary>
/// 更新制导系统的状态和计算结果
/// </summary>
/// <param name="deltaTime">自上次更新以来的时间间隔,单位:秒</param>
/// <param name="missilePosition">导弹当前位置,单位:米</param>
/// <param name="missileVelocity">导弹当前速度,单位:米/秒</param>
/// <remarks>
/// 更新过程:
/// - 获取最新目标信息
/// - 计算制导参数
/// - 更新制导状态
/// - 生成制导指令
/// </remarks>
//void Update(double deltaTime, Vector3D missilePosition, Vector3D missileVelocity);
/// <summary>
/// 获取制导加速度指令
/// </summary>
/// <returns>三维制导加速度向量,单位:米/平方秒</returns>
/// <remarks>
/// 返回数据:
/// - X分量横向制导加速度
/// - Y分量垂直制导加速度
/// - Z分量纵向制导加速度
/// 用于导弹的轨迹控制
/// </remarks>
Vector3D GetGuidanceAcceleration();
}
}