利用面向对象技术对VegaAPI封装的研究与实现研究.pdfVIP

利用面向对象技术对VegaAPI封装的研究与实现研究.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张艳赵春霞 (北京理工大学,北京100081) E-mail:abang_bonneyObit.edu.en 摘要论文分析了祝菁仿真软件v。弘的英库实现夏其体系结构,指出姜蓰裤的C语言API存在的不足。为此采用面 向开摹的c++语言,对Vega的枉心数据结构和函数进行封蓑,并针对不同函敷提出了不同的封暮策略。置蚌为用户提供 了简单易用的c++风格的All,真正实现了面向对象的Vega类库,使用户能够使用封蓑、蛙承、多态等面向对象的技术, 从而简化了代码的鳊写工作。 关键词vega面向甘象封蓑策略 1引言 : 一项,记录该实例的指针,并对该实伪分配索引号。用户可以通 S-岫tI]血OIl 过名字或索弓l号在链表中搜索某实例,并返回该实例的指针. Vega是ParadigmIncorporation公司开发的宴 时仿真和虚拟现实应用的高性能软件开发环境和工具集,它提 然后通过Vega提供的API对该实例进行操作。同理,当删除某 供丁LynX的图形用户界面,与Lyll)(协同工作的一套工具,以实例时要删除该实例在链表中相应的项。对于不同结构的实例 之间的引用也是通过这种链表来维护.从而减少了内存空同的 及完整的库函数和c语言编程接口,通过wg“a,i,用户可以 通过编写程序实现对虚拟物体运动情况的精确控制。 浪费。 Vega设计的初衷。是实现一个类库.使每个较为独立的结 构及其管理和操作对应一十类。但是,Vega这种类库概念的实 现方式,是将相对独立的属性集合集成在一个streuhLre类型的 敷据结构中,并提供了若干c函敷对该$tllletule中的属性进行 操作。可见Vega实际上是用结构化程序设计语言C实现了一 个所谓的类库,这个类库不具有封装、继承和多态这三项面向 对象的基本特征,因此,本质而言.ve辨提供的只是函数集,没 有实现面向对象的类库。另一方面,Vega的编程很繁琐。为了 设计某个虚拟场景以及其中物体的运动,用户必须熟悉许多数 据类型和函数,必须进行专门的学习,并编写大量的代码。基于 简化代码编写的思想,作者希望对Vega核心函数进行封装,方 便用户的使用。由于上述两方面原因,作者采用面向对象的 C++语言,对Vega的函数和基本数据结构进行封装,为用户提 供简单易用的c++风格的API,真正实现了面向对象的Vega 类库,使用户能够使用封装、继承、多态等基本的面向对象的 技术。 2 Vega的体系结构分析 对于Vega棱心数据结构的分析,有助于对其进行真正面 向对象的封装。ve弘核心数据结构层次可以用图l描述。 vgNode是最基本的数据结构,所有其他的Vega结构都“继承” 于vgNode。Vega中段有定义任何访问vgNode的函数,也不存 在创建该数据结构变量的函数,因此,用户不能直接创建一个 田1 Vega基本结构咖 vgNode类型的变量,就本质而言,vgNode是一个抽象结构。 vgNode。派生”出两个结构:vgCommon和,gCPos(vsCPos直接 通过上述分析可知Vega类库提供的只是函数集.不具有 “继承”自vgCommon.问接“继承”自vgNode)。与vgNode相似, 面向对象的继承,封装,多态等基本特征,代码重用率循,为此 对于这两个数据结构,Vega也不提供创建函数。Vega中大部分 提出对Vega类库进行封装。 核心数据结构.如vgObject都。继承”自vgCommon。其中和位置 信息相关的数据结构,如vgChannel,。继承”白vgCPos。Vega提 供刨建和访问这些核心结构的函数,因此用户可以直接创建和 3 Vega函数库面向对象封装技术的实现 使用各种结构的变量。Vega中各个核心结构都维护一个链表3.1总体设计和封装策略

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档