三维可视化平台的场景自动更新方法及更新设备技术

技术编号:24497212 阅读:24 留言:0更新日期:2020-06-13 03:30
本发明专利技术提出了三维可视化平台的场景自动更新方法及更新设备,属于三维可视化平台技术领域,其具体包括将所有三维实体的动态属性进行封装,并分为顶层属性和子属性;更新三维实体的动态属性,标记位置并作出判断;根据标志的位置进行自动更新。本发明专利技术简化了三维场景更新的代码层次结构和调用逻辑,降低了三维场景的动态更新流程和实现复杂度,提升了三维平台的鲁棒性,解决了目前三维场景动态更新方式复杂,多线程交互不稳定的问题。

Automatic scene updating method and equipment of 3D visualization platform

【技术实现步骤摘要】
三维可视化平台的场景自动更新方法及更新设备
本专利技术属于三维可视化平台
,特别涉及三维可视化平台的场景自动更新方法及更新设备和三维可视化平台的更新设备。
技术介绍
随着三维技术的广泛应用,越来越多的三维平台在实际生产中投入使用,基本所有的三维平台都会有根据用户操作和输入来更新三维场景展示效果的需求。目前三维场景的更新一般都是通过消息或者回调函数实现的。这种两种方式的实现较为简单,但是也造成了代码的层次结构、逻辑不清晰的问题,并且模块之间直接相互调用,大大增加了代码模块间的耦合度以及多线程下调用的不稳定性。更大的问题在于随着场景待更新属性的增加,代码的复杂度会大大增减,可读、可维护性也会越来越差。因此,亟需要找到一种更为简单、通用的场景更新方法来满足三维场景自动更新的需求。
技术实现思路
为了克服现有技术所存在的不足,本专利技术提供了一种三维可视化平台的场景自动更新方法,简化了三维场景更新的代码层次结构和调用逻辑,降低了三维场景的动态更新流程和实现复杂度,提升了三维平台的鲁棒性。同时,本专利技术还提供了一种实现上述三维可视化平台的场景自动更新方法的三维可视化平台的场景自动更新设备和三维可视化平台的更新设备。本专利技术所采用的技术方案是:一种三维可视化平台的场景自动更新方法,其包括以下步骤:(1)根据数据结构和类型将所有三维实体的动态属性进行封装,按照动态属性的数据结构和类型将其分为顶层属性和子属性;(2)在用户图形界面线程中更新三维实体的动态属性,更新完动态属性数据后,将该动态属性的标志位置位,判断,若更新的动态属性是子属性,则将其对应的顶层属性的标志位也进行置位,之后进行下一步;若更新的动态属性是顶层属性,则进行下一步;(3)在渲染线程的帧事件中依次判断每个三维实体的顶层属性的标志位,如果标志位被置位,则先清除该标志位,然后根据新的数据更新三维实体的渲染效果,否则,继续执行渲染任务,完成三维可视化平台的场景自动更新方法。进一步限定,所述顶层属性是在渲染线程中可以一次更新的多个子属性的组合。进一步限定,所述动态属性包括三维实体的位置、姿态、大小、高亮、透明、闪烁、显示隐藏、标签文本、标签字体、标签颜色及各种颜色配置。本专利技术提供的一种三维可视化平台的场景自动更新设备,其包括:实体对象处理模块,用于对实体对象进行了封装,便于获取和修改实体的属性数据,以及在检测到实体属性发生变化时,及时通知三维渲染模块对实体进行更新;图形界面修改模块:用于获取实体对象的属性信息,并将其展示给用户,便于用户对实体的属性数据进行修改;三维渲染模块:用于渲染三维场景及实体对象,将实体对象的属性转换成三维场景中的展示效果。本专利技术提供的一种三维可视化平台的更新设备,其包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于运行存储器所存储的计算机指令,实现所述的三维可视化平台的场景自动更新方法。与现有技术相比,本专利技术提供的三维可视化平台的场景自动更新方法及设备具有以下优点:该方法能够满足三维场景的更新需求,简化了三维场景更新的代码层次结构和调用逻辑,降低了三维场景的动态更新流程和实现复杂度,提升了三维平台的鲁棒性,解决了目前三维场景动态更新方式复杂,多线程交互不稳定的问题。附图说明图1为原始三维实体场景;图2为用户图形界面;图3为更新后的用户图形界面;图4为更新后的三维实体场景图。具体实施方式现结合附图和实施例对本专利技术的技术方案进行进一步说明,但是本专利技术不仅限于下述的实施情形。以结合三维实体场景详细说明,本实施例的三维可视化平台的场景自动更新方法通过以下步骤实现:(1)参见图1,图1为原始三维实体场景。根据数据结构和类型将所有三维实体的动态属性(包括但不限于三维实体的位置、姿态、大小、高亮、透明、闪烁、显示隐藏、标签文本、标签字体、标签颜色及各种颜色配置)进行封装,按照动态属性的数据结构和类型将其分为顶层属性和子属性,其中顶层属性由多个子属性组合而成;将在渲染线程中可以一次更新的动态属性组合成一个顶层属性,如通用实体的″x″,″y″,″z″三个动态属性,可以组合成一个顶层动态属性″位置″,以减少渲染线程中的判断次数;将不便于判断是否发生变化的属性进行封装,以便于判断是否更新,比如无法快速判断多边形的顶点是否发生变化,因此需要封装标志位以达到快速准确判断更新的目的;将在渲染线程中更新较为耗时但又相互关联的动态属性组合成一个顶层属性,如标签实体的字体和文本两个动态属性,无论更新哪一个都需要重新构建整个标签,如果不组合一个″标签属性″的顶层属性,则在同时修改字体和文本两个动态属性时,会导致渲染线程更新两次,从而影响执行效率。(2)对比图2和3,在用户图形界面线程中更新三维实体的动态属性,更新完动态属性数据后,将该动态属性的标志位置位,判断,若更新的动态属性是子属性,则将其对应的顶层属性的标志位也进行置位,之后进行下一步;若更新的动态属性是顶层属性,则进行下一步;图2为用户图形界面,如在用户图形界面中修改″标签文本″和″标签颜色″两个动态属性,则更新后的用户图形界面为图3所示。(3)在渲染线程的帧事件中依次判断每个三维实体的顶层属性的标志位,如果标志位被置位,则先清除该标志位,然后根据新的数据更新三维实体的渲染效果,否则,继续执行渲染任务,完成三维可视化平台的场景自动更新方法,参见图4,图4为更新后的三维实体场景图。本专利技术还提供了一种三维可视化平台的场景自动更新设备,可以运行上述的三维可视化平台的场景自动更新方法,其具体包括:实体对象处理模块,用于对实体对象进行了封装,便于获取和修改实体的属性数据,以及在检测到实体属性发生变化时,及时通知三维渲染模块对实体进行更新;图形界面修改模块:用于获取实体对象的属性信息,并将其展示给用户,便于用户对实体的属性数据进行修改;三维渲染模块:用于渲染三维场景及实体对象,将实体对象的属性转换成三维场景中的展示效果。本专利技术提供的一种三维可视化平台的更新设备,其包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于运行存储器所存储的计算机指令,实现上述的三维可视化平台的场景自动更新方法,该处理器可以是中央处理单元,或者其他处理器,能够独立执行完成或者软硬件结合的形式执行完成前述的三维可视化平台的场景自动更新方法即可。本文档来自技高网...

【技术保护点】
1.一种三维可视化平台的场景自动更新方法,其特征在于:包括以下步骤:/n(1)根据数据结构和类型将所有三维实体的动态属性进行封装,按照动态属性的数据结构和类型将其分为顶层属性和子属性;/n(2)在用户图形界面线程中更新三维实体的动态属性,更新完动态属性数据后,将该动态属性的标志位置位,判断,若更新的动态属性是子属性,则将其对应的顶层属性的标志位也进行置位,之后进行下一步;若更新的动态属性是顶层属性,则进行下一步;/n(3)在渲染线程的帧事件中依次判断每个三维实体的顶层属性的标志位,如果标志位被置位,则先清除该标志位,然后根据新的数据更新三维实体的渲染效果,否则,继续执行渲染任务,完成三维可视化平台的场景自动更新方法。/n

【技术特征摘要】
1.一种三维可视化平台的场景自动更新方法,其特征在于:包括以下步骤:
(1)根据数据结构和类型将所有三维实体的动态属性进行封装,按照动态属性的数据结构和类型将其分为顶层属性和子属性;
(2)在用户图形界面线程中更新三维实体的动态属性,更新完动态属性数据后,将该动态属性的标志位置位,判断,若更新的动态属性是子属性,则将其对应的顶层属性的标志位也进行置位,之后进行下一步;若更新的动态属性是顶层属性,则进行下一步;
(3)在渲染线程的帧事件中依次判断每个三维实体的顶层属性的标志位,如果标志位被置位,则先清除该标志位,然后根据新的数据更新三维实体的渲染效果,否则,继续执行渲染任务,完成三维可视化平台的场景自动更新方法。


2.根据权利要求1所述的三维可视化平台的场景自动更新方法,其特征在于:所述顶层属性是在渲染线程中可以一次更新的多个子属性的组合。


3.根据权利要求1...

【专利技术属性】
技术研发人员:任健强杨森麻卓肖彦科李攀
申请(专利权)人:陕西心像信息科技有限公司
类型:发明
国别省市:陕西;61

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

1