当前位置: 首页 > 专利查询>武汉大学专利>正文

一种复制式协同计算机辅助设计系统中的任意Undo/Redo方法技术方案

技术编号:9356816 阅读:125 留言:0更新日期:2013-11-20 23:58
本发明专利技术公开了一种复制式协同计算机辅助设计系统中的任意Undo/Redo方法,站点接收Undo命令后,在本地操作历史记录中定位造型操作O并判断是否被并发Undo撤销。若未被Undo,则将O和其依赖操作集设为“无效”,在模型状态记录中获得O执行时的模型状态,执行在造型操作O后执行且仍“有效”的操作,将O的USV中对应于Undo生成站点的分量增加1。协同站点接收Redo命令后,在本地定位要Redo的造型操作O,并判断O是否为并发Undo目标。若是,则等待各协同站点都同意Redo操作O;若不是,则基于当前模型状态执行O。本方法能够在多用户协同编辑的环境中,在保持用户操作意愿的前提下在任意时刻、任意选择操作进行Undo和Redo,并在各站点上保持结果一致。?

【技术实现步骤摘要】

【技术保护点】
一种复制式协同计算机辅助设计系统中的任意Undo/Redo方法,其特征在于,包括以下步骤:步骤1:站点Si?发出Undo命令后,在所述的站点Si的历史操作记录中定位要被Undo?的造型操作O,在模型状态流中获得所述的造型操作O执行时的模型状态S,并在所述的站点Si上得到依赖操作集DS(O),其中站点Si为远端协同站点中的一站点;步骤2:将所述的站点Si?的操作历史记录中对应于所述的造型操作O以及依赖操作集DS(O)?中的操作设置为“无效”,并将所述的造型操作O放入和所述的站点Si?对应的被Undo的操作集合UndoList[i]中,重建所述的站点Si上的边界模型以完成本地的Undo操作,将所述的造型操作O的Undo状态向量USV中的分量USV[i]增加1;步骤3:将包含所述的造型操作O的Undo?命令逐一发送到各个远端协同站点;步骤4:当远端站点Sj接收到来自所述的站点Si?发出的Undo?命令后,在所述的Sj?站点上的历史操作记录中定位对应于包含在该Undo命令中的对应于所述造型操作O的造型操作O’,?其中站点Sj为远端协同站点中的一站点,并且Si≠Sj;步骤5:判断:如果所述的造型操作O’的状态标志为“无效”,则所述的造型操作O’已被撤销,终止所述的造型操作O的Undo?命令在所述的站点Sj上的执行;如果所述的造型操作O’的状态标志为“有效”,则在所述的站点Sj?的模型状态流中获得所述的造型操作O’执行时的模型状态S’,并获得依赖操作集?DS(O’);步骤6:将所述的站点Sj?的历史记录中对应于所述的造型操作O’以及依赖操作集?DS(O’)中的操作设置为“无效”并将所述的造型操作O’放入和所述的Sj?对应的被Undo的操作集合UndoList[j]中,重建所述的站点Sj?上的边界模型以完成所述的站点Sj上的Undo?操作,并将所述的造型操作O的Undo状态向量USV的分量USV[i]增加1;步骤7:站点Sm?发出Redo?命令后,根据包含在Redo命令中的站点号信息和操作顺序号信息在所述的站点Sm的操作历史记录中定位所述的造型操作O,其中站点Sm为远端协同站点中的一站点;步骤8:将包含所述的造型操作O?的站点号信息、操作顺序号和Redo命令产生站点号信息的Redo?命令发送到远端的各个协同站点,对所述的造型操作O的状态向量USV进行判断:若仅存在分量USV[m]的值大于0,则重建所述的站点Sm上的边界模型,将所述的造型操作O的状态向量USV中全部分量的值设为0,并将所述的造型操作O从被Undo的操作集合UndoList[i]中删除;若存在分量USV[k]的值大于0,且m≠k,则等待所述的各个协同站点返回是否允许执行该Redo命令;步骤9:当远端站点Sn接收到来自所述的站点Sm发出的?Redo?命令后,在所述的站点Sn的历史操作记录中的定位对应于所述的造型操作O的Redo?命令中的造型操作O’,?对所述的造型操作O’的状态向量USV进行判断:若仅存在分量USV[m]的值大于0,则执行所述的Redo命令;若存在分量USV[k]的值大于0,且m≠k,则由用户选择是否执行所述的Redo命令,并将选择结果发送至所述的各个协同站点;其中站点Sn为远端协同站点中的一站点,并且Sm≠Sn;步骤10:判断:当且仅当所述的所有协同站点允许执行所述的Redo命令时,则按照以下步骤执行所述的Redo命令:首先所述的各个协同站点根据已定位的造型操作重建本站点的边界模型,?其次将本站点的造型操作的状态向量USV中全部分量的值设为0,并将本站点的造型操作从本站点的被Redo的操作集合中删除。...

【技术特征摘要】

【专利技术属性】
技术研发人员:何发智程媛张德军蔡贤涛
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1