CN115129201B - 一种可视化场景交互事件的绑定方法及全局事件流的交互方法 - Google Patents

一种可视化场景交互事件的绑定方法及全局事件流的交互方法 Download PDF

Info

Publication number
CN115129201B
CN115129201B CN202211063313.2A CN202211063313A CN115129201B CN 115129201 B CN115129201 B CN 115129201B CN 202211063313 A CN202211063313 A CN 202211063313A CN 115129201 B CN115129201 B CN 115129201B
Authority
CN
China
Prior art keywords
event
interaction
list
space
scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211063313.2A
Other languages
English (en)
Other versions
CN115129201A (zh
Inventor
宁海元
朱佳灵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yizhi Micro Technology Co ltd
Original Assignee
Hangzhou Yizhi Micro Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Yizhi Micro Technology Co ltd filed Critical Hangzhou Yizhi Micro Technology Co ltd
Priority to CN202211063313.2A priority Critical patent/CN115129201B/zh
Publication of CN115129201A publication Critical patent/CN115129201A/zh
Application granted granted Critical
Publication of CN115129201B publication Critical patent/CN115129201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种可视化场景交互事件的绑定方法及全局事件流的交互方法,涉及三维可视化技术领域,其中绑定方法包括以下步骤:搭建以基础空间场景为顶层容器的场景树,并在顶层容器中加载空间对象;利用Class关键字定义空间对象的基础类,并在基础类中声明事件池Map属性;通过属性type定义业务类,业务类用于为所述空间对象绑定交互事件并接收应用层传入的第二事件列表;触发空间对象绑定的交互事件,并根据交互事件执行相应的响应操作,所述响应操作由第一事件列表与第二事件列表匹配后确定。本申请可以很便捷地为单体空间对象绑定交互事件和自定义事件,并实现场景全局事件与单体空间对象间的事件捕获和事件冒泡。

Description

一种可视化场景交互事件的绑定方法及全局事件流的交互 方法
技术领域
本申请涉及三维可视化技术领域,尤其涉及一种可视化场景交互事件的绑定方法及全局事件流的交互方法。
背景技术
随着市场经济与互联网技术的持续发展,人们对软件需求的展示效果不再只停留在平面的视图与数据展示,而是逐渐上升到突破平面视图限制的三维场景,甚至是追求更高维度的数字孪生应用,伴随着这些需求的出现,可视化技术进一步发展,而人机交互事件作为可视化流程中不可或缺的重要环节,也得到稳步发展。
现有可视化场景交互都是先遍历当前三维空间中的物体,再判断物体是否被鼠标所交互,其具有以下不足:
1.每一次的交互都要遍历当前三维空间的所有物体,浪费大量性能;
2.无法为场景添加全局交互行为以实现至上而下的捕获代理与至下而上的冒泡,从而无法满足在有限性能下对更多的三维空间物体进行交互的需求。
发明内容
本申请提供的一种可视化场景事件流的交互方法,旨在解决现有技术无法在有限性能下对更多的三维空间物体进行交互的问题。
为实现上述目的,本申请采用以下技术方案:
本申请的一种可视化场景交互事件的绑定方法,包括以下步骤:
搭建以基础空间场景为顶层容器的场景树,并在所述顶层容器中加载空间对象;
利用Class关键字定义所述空间对象的基础类,并在所述基础类中声明事件池Map属性,所述事件池Map属性用于存储第一事件列表;
通过属性type 定义业务类,所述业务类用于为所述空间对象绑定交互事件并接收应用层传入的第二事件列表;
触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定。
作为优选,所述在所述基础类中声明事件池Map属性,所述事件池Map属性用于存储第一事件列表,包括:
在所述基础类中使用new Map().set(key, value)声明事件池 Map 属性,所述事件池Map 属性用于存储单个事件的事件名做键、事件回调函数做值的第一事件列表。
作为优选,所述第一事件列表根据所述事件名自动去重,于两个事件名相同时,用最新的事件回调函数覆盖原始事件回调函数。
作为优选,所述通过属性type 定义业务类,所述业务类用于为所述空间对象绑定交互事件并接收应用层传入的第二事件列表,包括:
利用extends关键字继承所述基础类后,通过属性type 定义业务类;
声明业务事件名,并在所述空间对象上通过bindEvent() 函数绑定与所述业务事件名对应事件的交互;
接收应用层传入的第二事件列表,将所述第二事件列表中的交互事件与第一事件列表中的交互事件合并后作为全量事件对象传递给所述基础类。
作为优选,所述触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定,包括:
于交互媒介与所述空间对象产生碰撞时,触发所述空间对象绑定的交互事件,返回所述空间对象的空间属性信息,并进行相应的响应操作,所述响应操作由所述第二事件列表中与第一事件列表事件名相匹配的事件确定。
作为优选,所述触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定,包括:
于所述空间对象自动触发其绑定的交互事件时,返回所述空间对象的空间属性信息,并利用apply关键字执行由应用层传入的对应事件,所述对应事件为存储于所述第二事件列表中并与所述第一事件列表中事件名相匹配的事件。
一种可视化场景全局事件流的交互方法,具体包括以下步骤:
为空间对象的基础类定义向下捕获或向上冒泡属性,并将鼠标拾取的第一个空间对象设置为目标对象,所述空间对象为根据权利要求1-6任意一项所述的可视化场景交互事件的绑定方法绑定交互事件的空间对象;
查找以所述目标对象作为底、基础空间场景作为顶的场景树中目标对象的所有上层结构对象,并将其保存为事件流对象有序列表;
于交互媒介与任意空间对象产生碰撞时,判断所述空间对象是否允许捕获,若是则顺序遍历所述事件流对象有序列表;
捕获结束,判断所述空间对象是否允许冒泡,若是则反转所述事件流对象有序列表并进行递归,同时触发对应的目标对象事件。
作为优选,所述方法还包括:利用new EventQueue()创建一个事件池,所述事件池用于对所有交互事件做全局管理。
作为优选,所述为空间对象的基础类定义向下捕获或向上冒泡属性,包括:
调用stopPropagation方法或preventDefault方法,并将默认值设为false,于stopPropagation为true时,向下捕获,于preventDefault为true时,向上冒泡。
作为优选,所述事件流对象有序列表的第一项和最后一项默认触发事件执行。
本发明具有如下有益效果:
本申请可以很便捷为单体空间对象绑定交互事件和自定义事件,还可以形成规范的场景可视化事件流体系,同时实现场景全局事件与单体空间对象间的事件捕获和事件冒泡。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种可视化场景交互事件的绑定方法的流程图;
图2是本申请一种可视化场景全局事件流的交互方法的流程图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他单元。
实施例1
如图1所示,一种可视化场景交互事件的绑定方法,包括以下步骤:
S110、搭建以基础空间场景为顶层容器的场景树,并在所述顶层容器中加载空间对象;
S120、利用Class关键字定义所述空间对象的基础类,并在所述基础类中声明事件池Map属性,所述事件池Map属性用于存储第一事件列表;
S130、通过属性type 定义业务类,所述业务类用于为所述空间对象绑定交互事件并接收应用层传入的第二事件列表;
S140、触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定。
交互事件就是触发某一事件执行命令,进而产生效果,比如单击鼠标、双击鼠标会出现什么效果都是用交互事件来完成的,具体地如点击某网址链接就会跳转到该网址对应的网页,又如用电视遥控器按下退出键,电视画面就会从当前页面退出等。
本实施例通过数字孪生融合渲染引擎easytwin来搭建以基础空间场景作为顶层容器的场景树,并在顶层容器中加载空间对象,其中,场景通过一种自顶向下的、分层的树状数据结构来组织空间数据集,以提升渲染的效率,这种树状结构就叫场景树,其由节点Node组成,这些节点Node可能是矩阵变换、状态切换或真正的可绘制对象,反映了场景的空间结构和对象的状态,此处的顶层容器就是指该场景树的根节点,并用Class关键字定义空间对象的基础类BaseObject,基础类只有一个,空间对象则可以有多个。
进一步地,在所述基础类中使用new Map().set(key, value)声明事件池 Map 属性,所述事件池Map 属性用于存储单个事件的事件名做键、事件回调函数做值的第一事件列表。
在基础类中使用new Map().set(key, value)声明事件池 Map 属性,该属性用来存储第一事件列表,在第一事件列表中,单个事件的事件名做键、事件回调函数做值,并通过Map 结构自动去重(实质是通过事件名去重,当最新要保存到第一事件列表中的事件名与已保存到第一事件列表中的某一事件名相同时,则用最新事件的事件回调函数覆盖原同一事件名的事件的事件回调函数),其中,第一事件列表是由构造器配置传入的,第一事件列表中的事件则是指空间对象可以响应的事件,包含交互事件,具体包括Click, hover,move等,此处声明事件池Map 属性是因为Map具有以下特点:
1)不能包含重复的键,每个键可以映射到最多一个值;
2)可以不同键指向同一Value;
3)支持用户自由绑定Key值与Value;
4)可以直接访问Key值获得对应Value。
构造器则是Java学习中很重要的一个概念,可以提供许多特殊的方法,且构造器作为一种方法,负责类中成员变量(域)的初始化,其最大的用处就是在创建对象时执行初始化,即当创建一个对象时,系统会为这个对象的实例进行默认的初始化,如果想改变这种默认的初始化,就可以通过自定义构造器来实现。
进一步地,利用extends关键字继承所述基础类后,通过属性type 定义业务类;
声明业务事件名,并在所述空间对象上通过bindEvent() 函数绑定与所述业务事件名对应事件的交互;
接收应用层传入的第二事件列表,将所述第二事件列表中的交互事件与第一事件列表中的交互事件合并后作为全量事件对象传递给所述基础类。
使用extends关键字继承基础类BaseObject,并通过属性type=“相机” 定义业务类,在业务类中实现以下两点:
1)声明业务事件名,并通过bindEvent() 函数绑定该事件名对应的事件与空间对象的交互;
2)接收应用层传入的自定义事件列表后,合并第一事件列表与第二事件列表中的交互事件列表,并作为全量事件对象传递到基础类中进行存储。
其中,自定义事件列表即第二事件列表,是指应用层希望空间对象响应的事件列表,第一事件列表与第二事件列表通过事件名进行匹配,例如空间对象的事件列表接受click 事件,应用层绑定一个执行操作(移动这个空间对象),则当鼠标点击这个空间对象时,这个空间对象就会用apply调用应用层绑定的事件进行空间对象的移动操作
进一步地,于交互媒介与所述空间对象产生碰撞时,触发所述空间对象绑定的交互事件,返回所述空间对象的空间属性信息,并进行相应的响应操作,所述响应操作由所述第二事件列表中与第一事件列表事件名相匹配的事件确定。
当通过鼠标、键盘、触摸或其他交互媒介与空间对象产生碰撞时,该空间对象就会自动触发其绑定的交互事件,并返回该空间对象的空间属性信息,其中,空间属性信息包括但不限于空间位置、大小等,然后进行相应的响应操作,响应操作对应的事件就是第二事件列表中与第一事件列表事件名相匹配的事件。
进一步地,于所述空间对象自动触发其绑定的交互事件时,返回所述空间对象的空间属性信息,并利用apply关键字执行由应用层传入的对应事件,所述对应事件为存储于所述第二事件列表中并与所述第一事件列表中事件名相匹配的事件。
或是在无任何交互媒介的情况下,空间对象自己触发其绑定的交互事件,也需要先返回该空间对象的空间属性信息,再使用apply关键字来执行由应用层传入的事件,该事件存储于第二事件列表中。
本实施例可以很便捷地为单体空间对象绑定交互事件和自定义事件,使得每次交互无需遍历当前三维空间内的所有物体,节省大量性能。
实施例2
如图2所示,一种可视化场景全局事件流的交互方法,包括:
S210、为空间对象的基础类定义向下捕获或向上冒泡属性,并将鼠标拾取的第一个空间对象设置为目标对象,所述空间对象为根据权利要求1-6任意一项所述的可视化场景交互事件的绑定方法绑定交互事件的空间对象;
S220、查找以所述目标对象作为底、基础空间场景作为顶的场景树中目标对象的所有上层结构对象,并将其保存为事件流对象有序列表;
S230、于交互媒介与任意空间对象产生碰撞时,判断所述空间对象是否允许捕获,若是则顺序遍历所述事件流对象有序列表;
S240、捕获结束,判断所述空间对象是否允许冒泡,若是则反转所述事件流对象有序列表并进行递归,同时触发对应的目标对象事件。
在实施例2中,所有的空间对象都是通过实施例1的方法绑定了独立交互事件的,此时再使用new EventQueue()创建一个事件池,该事件池与实施例1中的事件池作用不用,该事件池是为了对所有的交互事件做全局管理,此处的所有的交互事件是包含全局事件的。
进一步地,调用stopPropagation方法或preventDefault方法,并将默认值设为false,于stopPropagation为true时,向下捕获,于preventDefault为true时,向上冒泡。
为空间对象的基础类定义向下捕获或向上冒泡属性,具体地调用stopPropagation方法,其中stopPropagation方法的作用是阻止js事件冒泡,因此当其值为true时,向下捕获,同时调用preventDefault方法,preventDefault方法的作用是阻止系统默认行为,因此当其值为true时,向上冒泡,默认值都为false。
将鼠标拾取到的第一个空间对象作为目标对象,构建以目标对象作为底、基础空间作为顶的场景树,并查找目标对象的所有上层结构对象,同时将结果保存为事件流对象有序列表,顺序为:[场景对象、...、若干目标对象上层结构(树层级至上而下)、目标对象]。
进一步地,所述事件流对象有序列表的第一项和最后一项默认触发事件执行。
当交互媒介与空间对象产生碰撞(如鼠标选中某一文档或图标)时,进入捕获阶段,并判断该空间对象是否允许捕获,如果允许则遍历事件流对象有序列表,其中事件流对象有序列表的第一项和最后一项默认触发事件执行,此处默认触发的事件就是目标对象绑定的交互事件或是由应用层传入的事件。
当捕获阶段的遍历结束后,就进入冒泡阶段,此时先判断目标对象是否允许冒泡,如果允许则反转事件流对象有序列表即调换先后顺序,并再次进行遍历,由于第一项及目标对象事件在捕获阶段已经默认触发所以自动跳过,从第二项开始进行递归并触发相应的目标对象事件,此处的目标对象指代的是当前遍历到的事件对象,而目标对象事件就是该事件对象绑定的交互事件或应用层传入的事件,当某一事件对象的值为false时,结束本次递归,示例地:
应用层创建空间组,其中,空间组的作用是用来管理空间内的对象的,空间组添加一个摄像头,应用层给场景中的摄像头绑定点击移动事件,鼠标点击场景中的摄像头时,摄像头会触发绑定的移动事件,并向上查找preventDefault属性。
通过本实施例可以形成规范的场景可视化事件流体系,并实现场景全局事件与单体空间对象间的事件捕获和事件冒泡。
一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的一种可视化场景交互事件的绑定方法及全局事件流的交互方法。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述的一种可视化场景交互事件的绑定方法及全局事件流的交互方法。示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,并由输入接口和输出接口完成数据的I/O接口传输,以完成本发明,一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机设备中的执行过程。计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,存储器、处理器,本领域技术人员可以理解,本实施例仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入器、网络接入设备、总线等。处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等,进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备,存储器用于存储计算机程序以及计算机设备所需的其他程序和数据,存储器还可以用于暂时地存储在输出器,而前述的存储介质包括U盘、移动硬盘、只读存储器ROM、随机存储器RAM、碟盘或光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种可视化场景交互事件的绑定方法,其特征在于,包括以下步骤:
搭建以基础空间场景为顶层容器的场景树,并在所述顶层容器中加载空间对象;
利用Class关键字定义所述空间对象的基础类,并在所述基础类中声明事件池Map属性,所述事件池Map属性用于存储第一事件列表;
通过属性type 定义业务类,所述业务类用于为所述空间对象绑定交互事件并接收应用层传入的第二事件列表;
触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定。
2.根据权利要求1所述的一种可视化场景交互事件的绑定方法,其特征在于,所述在所述基础类中声明事件池Map属性,所述事件池Map属性用于存储第一事件列表,包括:
在所述基础类中使用new Map().set(key, value)声明事件池 Map 属性,所述事件池Map 属性用于存储单个事件的事件名做键、事件回调函数做值的第一事件列表。
3.根据权利要求2所述的一种可视化场景交互事件的绑定方法,其特征在于,所述第一事件列表根据所述事件名自动去重,于两个事件名相同时,用最新的事件回调函数覆盖原始事件回调函数。
4.根据权利要求1所述的一种可视化场景交互事件的绑定方法,其特征在于,所述通过属性type 定义业务类,所述业务类用于为所述空间对象绑定交互事件并接收应用层传入的第二事件列表,包括:
利用extends关键字继承所述基础类后,通过属性type 定义业务类;
声明业务事件名,并在所述空间对象上通过bindEvent() 函数绑定与所述业务事件名对应事件的交互;
接收应用层传入的第二事件列表,将所述第二事件列表中的交互事件与第一事件列表中的交互事件合并后作为全量事件对象传递给所述基础类。
5.根据权利要求1所述的一种可视化场景交互事件的绑定方法,其特征在于,所述触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定,包括:
于交互媒介与所述空间对象产生碰撞时,触发所述空间对象绑定的交互事件,返回所述空间对象的空间属性信息,并进行相应的响应操作,所述响应操作由所述第二事件列表中与第一事件列表事件名相匹配的事件确定。
6.根据权利要求1所述的一种可视化场景交互事件的绑定方法,其特征在于,所述触发所述空间对象绑定的交互事件,并根据所述交互事件执行相应的响应操作,所述响应操作由所述第一事件列表与第二事件列表匹配后确定,包括:
于所述空间对象自动触发其绑定的交互事件时,返回所述空间对象的空间属性信息,并利用apply关键字执行由应用层传入的对应事件,所述对应事件为存储于所述第二事件列表中并与所述第一事件列表中事件名相匹配的事件。
7.一种可视化场景全局事件流的交互方法,其特征在于,具体包括以下步骤:
为空间对象的基础类定义向下捕获或向上冒泡属性,并将鼠标拾取的第一个空间对象设置为目标对象,所述空间对象为根据权利要求1-6任意一项所述的可视化场景交互事件的绑定方法绑定交互事件的空间对象;
查找以所述目标对象作为底、基础空间场景作为顶的场景树中目标对象的所有上层结构对象,并将其保存为事件流对象有序列表;
于交互媒介与任意空间对象产生碰撞时,判断所述空间对象是否允许捕获,若是则顺序遍历所述事件流对象有序列表;
捕获结束,判断所述空间对象是否允许冒泡,若是则反转所述事件流对象有序列表并进行递归,同时触发对应的目标对象事件。
8.根据权利要求7所述的一种可视化场景全局事件流的交互方法,其特征在于,所述方法还包括:利用new EventQueue()创建一个事件池,所述事件池用于对所有交互事件做全局管理。
9.根据权利要求7所述的一种可视化场景全局事件流的交互方法,其特征在于,所述为空间对象的基础类定义向下捕获或向上冒泡属性,包括:
调用stopPropagation方法或preventDefault方法,并将默认值设为false,于stopPropagation为true时,向下捕获,于preventDefault为true时,向上冒泡。
10.根据权利要求7所述的一种可视化场景全局事件流的交互方法,其特征在于,所述事件流对象有序列表的第一项和最后一项默认触发事件执行。
CN202211063313.2A 2022-09-01 2022-09-01 一种可视化场景交互事件的绑定方法及全局事件流的交互方法 Active CN115129201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211063313.2A CN115129201B (zh) 2022-09-01 2022-09-01 一种可视化场景交互事件的绑定方法及全局事件流的交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211063313.2A CN115129201B (zh) 2022-09-01 2022-09-01 一种可视化场景交互事件的绑定方法及全局事件流的交互方法

Publications (2)

Publication Number Publication Date
CN115129201A CN115129201A (zh) 2022-09-30
CN115129201B true CN115129201B (zh) 2022-12-02

Family

ID=83387028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211063313.2A Active CN115129201B (zh) 2022-09-01 2022-09-01 一种可视化场景交互事件的绑定方法及全局事件流的交互方法

Country Status (1)

Country Link
CN (1) CN115129201B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713045A (en) * 1995-06-29 1998-01-27 Object Technology Licensing Corporation System for processing user events with input device entity associated with event producer which further links communication from event consumer to the event producer
US20010035880A1 (en) * 2000-03-06 2001-11-01 Igor Musatov Interactive touch screen map device
WO2014035895A2 (en) * 2012-08-27 2014-03-06 Lamontagne Entertainment, Inc. A system and method for qualifying events based on behavioral patterns and traits in digital environments
CN109145366B (zh) * 2018-07-10 2022-11-18 湖北工业大学 基于Web3D的建筑信息模型轻量级可视化方法
CN109901916A (zh) * 2019-02-26 2019-06-18 北京小米移动软件有限公司 事件的回调函数执行方法、装置、存储介质和移动终端
CN113721905A (zh) * 2021-08-30 2021-11-30 武汉真蓝三维科技有限公司 一种三维数字化软件开发的无码化编程系统及编程方法

Also Published As

Publication number Publication date
CN115129201A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
JP7013466B2 (ja) アプリケーションデータ処理方法、装置、及びコンピュータプログラム
CN101300621B (zh) 用于提供三维图形用户界面的系统和方法
US9483549B2 (en) Persisting state at scale across browser sessions
US20150278359A1 (en) Method and apparatus for generating a recommendation page
JP2011523737A (ja) 複数種類のコンピューティングデバイス間で複数の情報形態に対話する装置および方法
JP2013531294A (ja) ウェブサイトナビゲーションの実行
JP2013519932A (ja) 共有可能なユーザインタフェースで情報を構造化するための方法およびシステム
US8769439B2 (en) Method for creation, management, and presentation of user-scoped navigation topologies for web applications
CN111581069A (zh) 一种数据处理方法及装置
CN111857718A (zh) 列表的编辑方法、装置、设备及存储介质
CN110321503A (zh) 一种web组件缓存方法、装置及电子设备
CN112783488A (zh) 一种商业模式画布绘制方法和装置
US20230385363A1 (en) Web site preview generation based on web site type
CN105279431A (zh) 一种移动设备中操作信息的记录方法、装置和系统
CN109522473A (zh) 一种推荐关联信息的方法及其终端、服务器
CN115129201B (zh) 一种可视化场景交互事件的绑定方法及全局事件流的交互方法
CN103150355A (zh) 一种网页内容预览的方法、装置及设备
CN113467673A (zh) 移动端界面布置方法、装置、设备及存储介质
CN111506239A (zh) 一种媒体资源管理设备及标签配置组件的显示处理方法
US9542457B1 (en) Methods for displaying object history information
CN113722630B (zh) 基于客户端渲染的资源数据在web页面中的呈现方法及设备
CN111538455B (zh) 一种页面切换方法及装置
CN111813988B (zh) 用于图像特征库的hnsw节点删除方法、系统、设备和介质
WO2018200284A1 (en) Media sharing based on identified physical objects
CN104361114B (zh) 处理方法、处理装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant