namespace Plane.Copters
{
    /// <summary>
    /// 定义用于获取三维空间中飞行器姿态的属性。
    /// </summary>
    public interface IAttitude
    {
        /// <summary>
        /// 获取机头方向，其范围为 [0, 360)。
        /// </summary>
        short Heading { get; }

        /// <summary>
        /// 获取俯仰角度，其范围为 (-180, 180]，正常飞行中的范围为 [-45, 45]。
        /// </summary>
        float Pitch { get; }

        /// <summary>
        /// 获取横滚角度，其范围为 (-180, 180]，正常飞行中的范围为 [-45, 45]。
        /// </summary>
        float Roll { get; }

        /// <summary>
        /// 获取偏航角度，其范围为 (-180, 180]。
        /// </summary>
        float Yaw { get; }
    }
}
