admin 管理员组文章数量: 887021
2024年1月13日发(作者:国家安全ppt模板下载免费)
总第228期 2013年第6期 舰船电子工程 Ship Electronic Engineering Vo1.33 No.6 97 MVC模型在三维模型管理系统设计中的应用 霍烁烁林秋杰刘艳兵王凌艳洛阳郑全普 471003) (中国洛阳电子装备试验中心摘要论文介绍一种基于MVC模型设计的三维模型库展示及管理系统的具体实现,对实现系统的主要方法技术进行了介绍。先是 对MVC模型进行了简要介绍,然后分别从MVC的模型在系统中的应用,三维模型数据库的设计及实现,三维模型展示系统的实现三方面 进行了详细分析,总结出此系统的优势及应用前景。 关键词MVC;数据库;三维模型库 TP311.13 中图分类号Application of MVC Model in Designing 3D Model Manage System HUO Shuoshuo LIN Oiujie LIU Yanbing WANG Lingyan ZHENG Quanpu (Luoyang Electronic Equipment Test Center of China,Luoyang 471003) Abstract This paper illustrates a kind of specific realization of 3D model show and manage system based on MVC mode1.It introduces the main technology and method of realizing the system.First,it introduces of the MVC model briefly.Then,it analyzes the system in detail from the application of the MVC model。the design and realization of the 3D model database,and the realization of the 3D mode1 show sys ten1.Finally,it concludes the superiority and the application outlook of the system. Key Words MVC,database,3D model database Class N}umber TP311.13 1 引言 MvC(Mode1一view—Controller)模型ll1 是一种经 典的设计模型,它能够很好地实现系统的职能分工,使系统 给Model和Ⅵew。三者的关系如图 所示。 具有更好的灵活性、伸缩性和扩展性。三维模型是视景仿 真的基础,对三维模型库的有效管理对于视景仿真技术的 应用具有重要的基础性意义。把MVC设计模型应用于三 维模型库展示及管理系统_4 ]的设计中,能有效发挥该 设计模型的优点,便于系统的后期扩展及有效管理。 图1 MVC关系图 2.2 MVC模型优点 MVC设计模型具有设计清晰、易于扩展、运用可分布 的特点,在构建应用中具有显著的优势。MVC要求对应用 分层,这就使得产品的结构清晰,产品的应用通过模型可以 得到更好地体现。主要有以下三方面优点: 1)MVC模型由于模型与视图、控制的分离,对视图和 2 MVC设计模型 2.1 MVC模型简介[ 。] MVC模型,即把一个应用的输入、处理、输出流程按照 Model、View、ontCroller的方式进行分离,这样,一个应用 被分成三个层——模型层、视图层、控制层,它们各自处理 自己的任务。MVC模型是一种分治的思想,它将数据的访 问与表现进行了分离。通过这种模型,可以开发出具有伸 缩性、便于维护的软件系统。 控制的改变,不会影响模型,从而可以使系统能方便地支持 其它新的数据结构类型。 2)多个视图对应一个模型的能力,在目前用户需求的 快速变化下,可能满足有多种方式访问应用的要求。 3)有利于软件工程化管理。由于不同的层各司其职, 每一层不同的应用具有某些相同的特征,有利于通过工程 化、工具化产生管理程序代码。 在MVC模型中,Model表示用户与之交互的对象,本质上 封装了业务数据和业务逻辑,包括对数据控制及修改的规则, 它是整个模型的核心;View是Model的外在表现,从Model中 抽取数据并将其以用户易于理解和交互的方式显示,一个 Model可以对应一个或多个View;Controller是Model和View 的联系纽带,它对用户请求进行解释,并将必要的控制信息交 3 MVC模型在系统中的应用 MVC模型是系统构建的基本框架[1-6],系统的各主要 功能模块的实现都包含模型、视图、控制器三个部分。模型 *收稿日期:2012年12月24日,修回日期:2013年1月30日 作者简介:霍烁烁,男,助理工程师,研究方向:三维可视化技术。
98 霍烁烁等:MVC模型在三维模型管理系统设计中的应用 总第228期 负责数据库的相关操作,主要由OperDB类实现,该类从 CDatabase类派生,实现数据库的相关操作;视图负责界面 的显示,主要包括DatabaseLog、DatabaseMana、MyApp三 个类,前两个类为对话框类,从CDialog类派生,后一个为 三维模型的展示界面,从VpApp类派生;控制器负责功能 的逻辑实现,实现类主要为Control类及ShowModule类, 前一个类从CDatabase类派生,主要实现对数据库中提取 数据的过滤等相关操作,后一个类从CView类派生,主要 实现模型显示的相关操作。下面以模型数据库的登录与管 理为例,说明MVC模型的具体实现。 3.1模型的实现 本系统没有建立复杂的抽象模型,而是将数据库 的 相关操作集合起来作为模型的实现。实现模型的类是 OperDB类,该类从CDatabase类派生,负责数据库的连接、 断开及读写等操作。由于本系统采用MFC ODBC方式连 接数据库,其中封装的函数已经可以满足数据库的基本操 作,故在类中方法只有 B()OI OperDB::ConnDB(CString DnsName,CString UserName,CString Password) BOOL OperDB::OpenRecord(CString TableName) 分别实现连接数据库及建立库表的数据集。 3.2视图的实现 视图的实现主要是两个对话框类DatabaseLog、Data— baseMana和MyApp类,前两个类主要完成界面的初始化 及更新,分别构建出数据库登录及管理对话框,初始化对话 框中相关控件的变量。同时,通过在相关控件的响应函数 中调用控制类的方法,实现界面上的相关操作对模型的操 作,本例中即对数据库的操作。MyApp类则实现三维模型 的显示界面,在View类中的初始化主要代码为 Vp::initialize(一argc,一argv); CString acfFile; acfFile一“CyberSpace Test.aef”; MyApp mmyApp; m myApp—newMyApp; mmyApp-->define(acfFile); vpKernel::instance()-->deftne(acfFile); mmyApp-->configure(); vpWindow vpWin一*vpWindow::begin(); vpWin一>setParent(mhWnd); vpWin-->setBorderEnable(false); vpWin>setFullScreenEnable(true); int frameNum—mmyApp-->beginFrame(); mmyApp一>endFrame(); 3.3控制器的实现 控制器的实现是由Control类完成,该类从CDatabase 类派生,通过SQL语句实现对数据库中读出的相关数据进 行操作及改变数据库中数据,从而实现模型与界面相关信 息的同步。其方法主要有: BOOI Control::ConnDB(CString DnsName,(.;String User Name,CString Password) BOOL Control::OpenRecord(CoString TableName) void Control::Add(Values Tablevalue) //Values为包含数据库所有字段的结构体 以上函数分别是对数据库中数据的操作及视图的更新 操作。对数据库数据操作的实现需调用OperDB类的相关 方法,对视图更新的操作需在视图的相关类中调用这些方 法,从而建立视图与模型间的逻辑关系,同时,使视图与模 型分离开来,构成层次关系。 4三维模型数据库管理[ .7 ̄ ] 随着视景仿真技术应用的日益广泛,大量的三维数据模 型随之出现,如何管理好这些三维数据模型,能够更为有效 地对这些模型进行查询l9]、修改及维护成为了一个必须要面 对的问题。本文基于对CreatO q 3_建造的OpenFlight数据 结构三维模型库进行管理。鉴于目前已构建的三维模型较 少,故采用 ESS数据库对模型库进行管理。 4.1数据库表结构设计 3D模型对应的纹理图像是独立于模型之外的,但由于 Creator建造的.flt模型文件本身已存储了纹理文件的相对 路径信息,故无需在数据库[2]中再次记录纹理文件的路径 信息。由于模型是按照实际大小尺寸建立,各模型大小不 一,所以初始显示时需进行一定比例的缩放才能得到较好 的显示效果,故需在表中增加一记录模型缩放倍数的字段。 同时,为了提高管理和查询、检索的效率,还对模型所属的 类型进行了分类,故表中设计了模型名称字段、模型类型字 段、模型路径字段、模型缩放倍数字段、模型基本信息字段, 表结构如表1所示。 表1模型库表结构 4.2数据库管理的实现 本系统通过MFC ODBC方式访问ACCESS数据库来 对模型数据进行操作。首先建立ACCESS数据源,应用程 序通过CDatabase类建立同数据源的连接,该类提供了对 数据库进行操作的函数及事务操作,通过它可以对数据源 进行操作。然后通过CRecordSet类获取数据库中某一库 表的数据集,通过CRecordSet类地方法实现对数据集的数 据操作,对模型数据进行添加、删除、修改等操作。数据库 登录流程图如图2所示。 图2数据库登录流程图
版权声明:本文标题:MVC模型在三维模型管理系统设计中的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1705076267h472274.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论