[发明专利]三维场景设计中撤销操作的实现方法及其装置有效
申请号: | 201210223528.6 | 申请日: | 2012-06-29 |
公开(公告)号: | CN102819429A | 公开(公告)日: | 2012-12-12 |
发明(设计)人: | 康晓林;李金凤 | 申请(专利权)人: | 广东威创视讯科技股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 王茹;曾旻辉 |
地址: | 510663 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 三维 场景 设计 撤销 操作 实现 方法 及其 装置 | ||
技术领域
本发明涉及一种软件设计中的撤销操作的实现方法,特别是涉及一种三维场景设计中撤销操作的实现方法以及一种三维场景设计中撤销操作的实现装置。
背景技术
由于通过三维设计能够展现一个应用场景或一个物体的结构,加之三维设计技术的不断发展,三维场景设计得到了越来越广泛的应用。三维场景设计软件在应用中会提供各种操作,如在场景中添加与删除各种渲染对象,对渲染对象进行移动、旋转,以及标注等等。如同常用的软件需要提供撤销或后退功能一样,用户在实际使用三维场景设计软件时,也需要三维场景设计软件提供撤销或后退功能,以方便用户能快速将三维场景恢复到某一历史状态。
针对撤销或后退功能操作,传统的三维场景设计软件一般采用如下的实现方法:首先对三维场景设计软件将要提供的操作按功能进行分类,并针对每一种操作及其操作对象定义相应的参数;然后定义一个用于存储用户在使用三维场景设计软件时所进行的每一步操作及该操作对应参数的操作链表;当用户使用三维场景设计软件时,记录用户的每一个操作并将该操作及其对应的参数存入上述操作列表中;最后,当用户执行撤销操作时,依次顺序执行操作列表中存储的操作,这样即可不断的使三维场景回复到之前的场景,从而实现撤销或后退操作。
上述传统的三维场景设计中撤销操作的实现方法,能够满足一般的简单三维场景设计软件的要求。然而由于传统方法中记录的是用户的操作及操作对应的参数,因此对于同一种3D渲染对象的不同操作,均要定义本操作所需的参数而不能共用,这对于三维场景设计软件的升级维护非常不便;而且随着软件提供的操作不断增加,软件的设计复杂度将会大大增加,尤其是对于功能复杂的三维场景设计软件,上述软件的设计复杂度问题已经成为一个不得不解决的问题。
发明内容
为解决上述问题,本发明提供一种三维场景设计中撤销操作的实现方法及其装置,能够简化软件设计的复杂度。
为实现上述目的,本发明采用如下的技术方案:
一种三维场景设计中撤销操作的实现方法,包括以下步骤:
设计定义一个3D渲染对象基类,该类提供3D渲染对象的撤销操作接口;
根据三维场景设计软件的实际情况,设计定义所有3D渲染对象类,找出其会因用户操作而改变的特征属性,并设计定义相应的特征属性类进行描述,然后在相应的3D渲染对象类中定义一个特征属性链表用于记录3D渲染对象的特征属性变化过程;
对所述定义的每一个3D渲染对象类,分别设计并加入一个事件接口,该事件接口用于在3D渲染对象的特征属性改变时触发相应的事件并调用该事件接口;
定义一个全局的3D渲染对象链表,用于记录用户在3D场景中添加的3D渲染对象;
当用户对三维场景中的3D渲染对象进行修改操作时,该3D渲染对象的事件接口被触发,所述事件接口自动获取3D渲染对象自身的特征属性,并将获取的特征属性压入所述特征属性链表中;
当用户执行撤销操作时,自动遍历所述3D渲染对象链表,并依次调用各3D渲染对象的撤销操作接口,由各3D渲染对象完成其自身的撤销操作,进而完成整个三维场景的撤销操作。
本发明还提供一种三维场景设计中撤销操作的实现装置,包括:
第一定义模块,用于设计定义一个3D渲染对象基类,该类提供3D渲染对象的撤销操作接口;
第二定义模块,用于根据三维场景设计软件的实际情况,设计定义所有3D渲染对象类,找出其会因用户操作而改变的特征属性,并设计定义相应的特征属性类进行描述,然后在相应的3D渲染对象类中定义一个特征属性链表用于记录3D渲染对象的特征属性变化过程;
第三定义模块,用于对所述定义的每一个3D渲染对象类,分别设计并加入一个事件接口,该事件接口用于在3D渲染对象的特征属性改变时触发相应的事件并调用该事件接口;
第四定义模块,用于定义一个全局的3D渲染对象链表,用于记录用户在3D场景中添加的3D渲染对象;
修改操作响应模块,用于当用户对三维场景中的3D渲染对象进行修改操作时,该3D渲染对象的事件接口被触发,所述事件接口自动获取3D渲染对象自身的特征属性,并将获取的特征属性压入所述特征属性链表中;
撤销操作响应模块,用于当用户执行撤销操作时,自动遍历所述3D渲染对象链表,并依次调用各3D渲染对象的撤销操作接口,由各3D渲染对象完成其自身的撤销操作,进而完成整个三维场景的撤销操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东威创视讯科技股份有限公司,未经广东威创视讯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210223528.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:收料机构
- 下一篇:基于事件控制函数的离散事件系统监控器及其控制方法