计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

Vega扩展模块的设计与研究(1)

2016-11-01 01:00
导读:计算机应用论文论文,Vega扩展模块的设计与研究(1)样式参考,免费教你怎么写,格式要求,科教论文网提供的这篇文章不错: 摘 要 本文基于对Vega 和Vega扩展模块体系结构的深入研究,采用
摘 要 本文基于对Vega 和Vega扩展模块体系结构的深入研究,采用了C 、OpenGL三维图形库Vega API开发了一个波浪仿真的Vega扩展模块,该扩展模块与Vega中的其它模块完全兼容,从而扩展Vega的功能,并利用该模块实现了波浪的交互式仿真效果。实践证明该开发Vega扩展模块的方法对于其它领域的用户开发Vega扩展模块也是完全适用的。 关键词 Vega;扩展模块;交互式仿真1 引言 Vega 是在 SGI Performer 基础上发展起来的仿真软件平台[1],主要用于虚拟现实技术中的实时场景生成、声音仿真及科学计算可视化等领域。由于Vega大幅度地减少了源代码,从而大大地提高了工作效率,可以迅速创建各种实时交互的三维环境,以满足各种用户的需要[2]。Vega 软件环境是目前实时视景仿真领域主流的高层开发平台,其结构和功能是模块化的,用户可针对自己的仿真需求选用特定的模块组合[3]。但是Vega不可能包罗万象,对于某些特殊场景的仿真,如波浪仿真等,Vega没有对应的模块,使得相应的设计开发工作十分困难。因此,有必要对Vega进行扩展研究,研制出能够满足各种开发需求的专用仿真模块。2 扩展模块结构分析 Vega扩展模块由5部分构成,分别为:模块关键字配置文件,LynX界面配置文件,LynX 图标菜单项插件 DLL,编程接口DLL 和LIB[3]。模块关键字配置文件是扩展名为 KEY 的ASCII文本文件,包含抽象出的自定义类的特征关键字及其参数、参数类型和参数缺省值等。LynX界面配置文件是根据模块关键字配置文件包含的关键词定义的,界面配置文件也是扩展名为GUI的ASCII文本文件,表示 LynX中的自定义类参数的图形调整接口,每个窗口元素对应自定义类的一种属性参数。LynX 图标菜单项插件把代表自定义类的大图标和工具栏小图标以及新增菜单项读入到LynX 界面。三者共同完成LynX界面的扩展。扩展模块的核心 DLL,提供自定义类的编程接口,自定义类同其他 Vega 类一样,是一个完整的控制结构,提供给外界管理自身和完成特定功能的 API。因此在定义类的同时安装各种回调函数,包括公共Vega API的回调、仿真循环前配置系统的回调和读取自定义 ADF 文件的回调。自定义类具备读取 ADF 文件的功能后,就同LynX图形界面联系起来。自定义类最终提供给用户的是 C 编程接口,这是在动态链接库中用 EXTERN 语句导出的。静态库是上述动态链接库的副产品,在将自定义类用于仿真程序时要在程序中连接静态库。3 波浪扩展模块的具体实现 由扩展模块结构分析可知,波浪模块的实现主要有两部分工作,LynX界面的扩展和开发自定义波浪类。LynX界面的扩展主要包括开发出扩展模块的关键字配置文件、GUI 配置文件以及 LynX插件动态链接库。最后将这些文件放到系统默认的路径下,当 LynX启动时,系统会自动调用这些文件,显示出扩展模块的 LynX图形界面。自定义波浪类开发主要分为:初始化波浪类、安装公共Vega API的回调、创建C编程接口等,其流程如图1所示。3.1 扩展LynX界面3.1.1 创建LynX关键字文件 在波浪类的关键字配置文件中定义了3个关键字:波形(wavefrom),尺寸(dimensions)和观察者(observer)。以其中一个关键字波形(wavefrom)为例,定义语句和格式如下所示: keyword "waveform" { param amplitude { type FLOAT; default 1; min 0; max 10; } param period { type FLOAT; default 5; min 0.01; max 30; } }3.1.2 创建LynXGUI配置文件 在波浪模块的LynXGUI配置文件定义了一个图框部件和三个窗口部件,其中三个窗口部件分别用来设置波形,尺寸和观察者三个关键字,而图框部件用来设置波浪类。以其中一个设置波形(wavefrom)关键字部件为例,定义语句和格式如下所示: frame w_waveform { topWidget CLASSNAMES;labelstr "Waveform";scale w_amp { labelstr "Amplitude"; param c_wave.amplitude; decimalpts 2;}scale { labelstr "Period"; topWidget w_amp; param c_wave.period; decimalpts 1;} } 创建关键字配置文件、GUI 配置文件要放到Vega 的安装目录…\Vega\Dada\LynxData\Config里面。Lynx自动地在该文件夹中读取所有的GUI和KEY文件。图1波浪扩展模块实现的流程图3.1.3 创建LynX插件 此时运行LynX将会看到标识波浪仿真模块的图标还是一个问号,要想改变图标就要创建图标插件 DLL,该动态链接库是用MFC的Appwizard DLL实现的。创建完的波浪模块图标插件 DLL名为LynxPIMyWave.dll,最后要把该动态链接库放到…\Vega\Bin\LynxPlugins文件夹中,以便启动LynX时,读取该文件。这样界面扩展的工作完成了,其效果见图2所示。
上一篇:Asp Sql网上书店系统论文开题报告 下一篇:没有了