QQ登录

只需一步,快速开始

楼主: 胡秀伟
打印 上一主题 下一主题

基于XML的系统配置及改进技术

  [复制链接]

主题

好友

462

积分

专业技术学员

27#
发表于 2012-4-13 22:24:03 |只看该作者
节点中的 Ticks 和 Caps 表示设备边框的显示。不同的设备的矩形框的区别在于显示时边框的圆缺不同。例如航向显示器,需要有左右边框和下边框,没有上边框,true 表示边框显示,false 则表示不显示边框。Tick 和 Cap 的具体显示位置如图所示。
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

26#
发表于 2012-4-13 22:22:53 |只看该作者
图.........................

未命名14.JPG (13.6 KB, 下载次数: 653)

未命名14.JPG
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

25#
发表于 2012-4-13 22:22:36 |只看该作者
配置文件中<loadfn>节点规定了平显数据显示调用的函数。在描述座舱系统的程序 Cockpit中,建立如下一个通过字符串搜索调用函数的结构体,FlightGear 源程序通过解析 XML 文档可以获得该节点的值“heading”,通过该字符串指向调用函数,完成平显数据显示。
truct FuncTable {
const char *name;
FLTFNPTR func;
} fn_table[] = { { "heading", get_heading }……. }
平显中有部分变量默认使用的是英制单位,例如海拔高度(英尺)、空速(海里/时)等,这就给直观的读取飞行数据变量带来了一定的障碍。通过以上的流程可以发现,平显数据是在调用函数中完成的。例如描述海拔高度的函数 get_agl( ),其原型为:
agl = current_aircraft.fdm_state->get_Altitude( )
- current_aircraft.fdm_state->get_Runway_altitude( );
将英制单位转换为公制单位只需要进行单位转换即可达到在平显中显示公制单位的数据。修改如下:
agl = (current_aircraft.fdm_state->get_Altitude( )
-current_aircraft.fdm_state->get_Runway_altitude( ))* SG_FEET_TO_METER;
其中 SG_FEET_TO_METER 定义为 0.3048,表示 1 英尺=0.3048 米。
3.2.3图形显示设定
HUD 平显界面是由基本的矩形组成的,图形显示设定设备的矩形边框是否显示,从而完成设备的图形显示。图形显示设定的“树”形结构图如图所示
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

24#
发表于 2012-4-13 22:20:13 |只看该作者
本帖最后由 胡秀伟 于 2012-4-13 22:21 编辑

图,,,,,,,,,,,,,,,,,,,,,,,,

未命名13.JPG (16.36 KB, 下载次数: 692)

未命名13.JPG
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

23#
发表于 2012-4-13 22:19:54 |只看该作者
3.2.2显示格式设定
显示格式设定了该设备数据显示的格式,包括数据显示需要调用的程序函数、数据显示的最大刻度值和最小刻度值、数据显示的数值跨度、数据显示的最大刻度和最小刻度、过零显示等。其“树”结构如图所示
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

22#
发表于 2012-4-13 22:18:16 |只看该作者
本帖最后由 胡秀伟 于 2012-4-13 22:19 编辑

图.............................

未命名12.JPG (6.39 KB, 下载次数: 658)

未命名12.JPG
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

21#
发表于 2012-4-13 22:18:01 |只看该作者
根据设定的位置,该设备在屏幕上的显示位置如图所示
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

20#
发表于 2012-4-13 22:15:01 |只看该作者
本帖最后由 胡秀伟 于 2012-4-13 22:17 编辑

图..................................

未命名11.JPG (6.89 KB, 下载次数: 774)

未命名11.JPG
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

19#
发表于 2012-4-13 22:14:43 |只看该作者
3.2.1显示位置设定
FlightGear 飞行模拟器以 OpenGL 做为图形显示的工具,在 OpenGL 项目中,位置坐标原点(0,0)为工程项目的左下角点。
显示位置规定了该设备在屏幕上的显示位置,包括该设备在屏幕上的起始位置坐标以及 x轴和 y 轴上的长度。该设定部分的“树”形结构如图所示
回复

使用道具 举报

主题

好友

462

积分

专业技术学员

18#
发表于 2012-4-13 22:14:16 |只看该作者
根据配置文件设定的不同功能分别说明每个设定部分的作用和原则。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入FG

本版积分规则

手机版|联系我们| FlightGear ( 吉ICP备19002044号-7 )

GMT+8, 2024-9-23 18:00

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部