CN102779202A - 在多个操纵器中选择对象的操纵器 - Google Patents
在多个操纵器中选择对象的操纵器 Download PDFInfo
- Publication number
- CN102779202A CN102779202A CN2012101396346A CN201210139634A CN102779202A CN 102779202 A CN102779202 A CN 102779202A CN 2012101396346 A CN2012101396346 A CN 2012101396346A CN 201210139634 A CN201210139634 A CN 201210139634A CN 102779202 A CN102779202 A CN 102779202A
- Authority
- CN
- China
- Prior art keywords
- executor
- chosen area
- tabulation
- incident
- computer implemented
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Architecture (AREA)
Abstract
本发明公开了用于选择在图形用户界面中显示的多个对象中的对象的操纵器的计算机实现的过程,每个对象包括至少一个操纵器。所述过程包括下列步骤:-提供(S100)一组操纵器,其中每个操纵器包括至少一个选取区域,并且所述组中的不同操纵器的至少两个选取区域重叠;-在用户与图形用户界面交互时,接收(S150)在所述至少两个重叠的选取区域上应用的事件;-触发一组过滤,用以选择所述组中的待启动的一个操纵器。
Description
技术领域
本发明涉及计算机程序和系统的领域,且更具体地涉及用于选择在图形用户界面上显示的多个对象中的对象的操纵器的过程、装置和程序,每个对象包括至少一个操纵器。
背景技术
在对象的设计、工程和制造的市场上提供了很多系统和程序。这些对象可以是二维或三维对象。
CAD是计算机辅助设计的缩写,例如,它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面关于技术的效率起重要的作用。这些技术可嵌入产品生命周期管理(PLM)系统内。PLM是指一种商业策略,其帮助公司在扩展的企业的概念中从产品构思到其生命结束共享产品数据,应用公共过程,并利用公司知识来开发产品。
计算机程序广泛地可用于创建绘图和具有图形内容的其它文件。这些程序合并各种工具以帮助用户通过计算机显示器创建和操纵对象,例如图形、图标、几何形状、图像和文本块。在CAD解决方案例如商标为CATIA的由DASSAULT SYSTEMES提供的CAD解决方案中,多亏有操纵器,用户总是与几何图形交互。操纵器也称为基于手柄的工具(或手柄)。用户可通过使指示器指向操纵器(或手柄)并用指示器点击、拖动或做手势来对较大的图形对象执行操作。使用在鼠标、跟踪球或触笔的控制下的指示器来在显示设备上执行交互。也可使用指示器(例如手指或触笔)来直接在触敏显示设备上执行交互。操纵器是浸入式对象,其允许用户直接在要修改的对象所位于的场景中触发诸如使几何图形变形、移动和转换之类的功能。操纵器可包括与较大的图形对象联合显示的一个或多个微缩图形或图标。操纵器可由正方形、球体、网格或任何其它复杂的形状例如(机器人、轴等)表示。
存在与那些操纵器交互的几种方式。与操纵器交互的行动也称为选取操纵器。与操纵器交互的第一种方式是“像素精确度”解决方案,其中操纵器的活动区域确切地与操纵器的可见表示相同。活动区域是屏幕上的可见区域,用户可在该可见区域中触发在对象上应用的功能。这是WYSIWYG(所看即所得)行为。这在图4中示出,图4在左边示出不精确地在操纵器(双向箭头)上的光标,因此操纵器是不活动的;在图4的右边,光标在操纵器上,操纵器因此是活动的。
与操纵器交互的第二种方式依赖于“扩展的选取区域”。选取区域代表可能向操纵器发送事件的表面。这在图5中示出,图5示出操纵器(双向箭头)及其选取区域(圆圈):在左边,光标不在选取区域上,且操纵器是不活动的;在图的右边,光标在选取区域上,且操纵器是活动的。选取区域是屏幕中的用户可触发在对象上应用的功能的区域。操纵器的可见表示由活动的不可见区域(选取区域)扩展,且用户甚至可以在离对象的一段距离处选取操纵器。选取区域可以是可见的或不可见的。
与操纵器交互的第三种方式依赖于“随时随地操纵”解决方案,其中整个屏幕用于与操纵器交互。因此,选择不再是可能的。在图6示出的图形用户界面中,光标总是选取该区域,因为选取区域占据整个屏幕。
与操纵器交互的上述方式伴随有其缺点。像素精确度解决方案伴随有生产率和人机工程学的缺乏:实际上,用户必须精确地选取可见表示(其可以仅仅一个或两个像素厚),这打断了用户的工作流程。当几个操纵器在屏幕上重叠时,扩展的选取区域解决方案伴随有选取问题。没有区分哪个操纵器必须被激活的方式。作为结果,不可预测的结果可能出现。这在图7中示出,其中光标在两个操纵器(双向箭头和正方形)的两个选取区域内部。因此当几个操纵器重叠时,这个解决方案不是令人满意的。随时随地解决方案与其它技术不兼容,这因为不可见的表示聚焦在整个屏幕上。作为结果,这在仅需要一个操纵器时是有用的,但不能与几个独立的操纵器一起使用。
在这个背景内,仍然需要在多个重叠的操纵器当中改进地选择在图形用户界面中显示的操纵器。
发明内容
根据一个方面,本发明因此提供了一种用于选择图形用户界面中显示的多个对象中的对象的操纵器的计算机实现的过程,每个对象包括至少一个操纵器,所述过程包括下列步骤:
-提供一组操纵器,其中每个操纵器包括至少一个选取区域,并且所述组中的不同操纵器的至少两个选取区域重叠;
-在用户与所述图形用户界面交互时,接收在所述至少两个重叠的选取区域上应用的事件;
-触发一组过滤,用于在所述一组操纵器中选择待激活的一个操纵器。
所述过程可包括下列操作中的一个或多个:
-从所述一组操纵器中选择操纵器,每个选择的操纵器具有接收所述事件的至少一个选取区域;
-从图形用户界面中的位置投射光线,并确定所述光线和所述至少两个重叠的选取区域之间的交叉;
-所述一组过滤包括下列过滤中的至少两个:
-创建所述事件所涉及的操纵器的子集;
-根据与每个操纵器相关联的优先级创建操纵器的子集;
-创建相应的点与所述图形用户界面中的位置具有最短距离的操纵器的子集;
-选择与用户视点具有最近距离的操纵器;
-所述组中的过滤被顺序地触发;
-向操纵器管理器签署操纵器。
-签署操纵器的步骤包括:
-对于每个操纵器,将相应的标识符存储在第一列表中,所述第一列表存储在由所述操纵器管理器管理的存储器中;
-对于每个操纵器,将相应的至少一个选取区域存储在第二列表中,所述第二列表存储在由所述操纵器管理器管理的所述存储器中。
-在所述第一列表中进行搜索,并获取与存储在所述第二列表中的接收事件的所述至少两个重叠的选取区域相对应的标识符,并识别所获取的标识符的相应的操纵器。
本发明还提出了一种用于选择图形用户界面中显示的多个对象中的对象的操纵器的装置,每个对象包括至少一个操纵器,所述装置包括用于执行本发明的过程的模块。
本发明还提出了一种包括供计算机执行的指令的计算机程序,所述指令包括用于执行本发明的过程的模块。
本发明还提出了一种计算机可读存储介质,其上记录有上述计算机程序。
附图说明
现在将通过非限制性的例子的方式并参考附图描述本发明的实施方式,其中:
-图1示出了过程的例子的流程图;
-图2示出了图形用户界面的例子;
-图3示出了客户端计算机系统的例子;
-图4到图7示出了现有技术中已知的与操纵器交互的不同方式;以及
-图8到图11示出了根据本发明在操纵器和操纵器管理器之间的交互。
具体实施方式
提出了用于选择在图形用户界面中显示的多个对象中的对象的操纵器的计算机实现的过程。每个对象包括至少一个操纵器。操纵器与对象相关联,并对该对象执行功能。操纵器本身是对象。操纵器与其相关联的对象一起嵌在其相关联的对象所位于的场景(其可以是二维或三维场景)中。这相当于说操纵器是在场景中的浸入式对象,其允许用户触发应用到与操纵器相关联的对象的功能。该过程包括提供一组操纵器。每个操纵器包括至少一个选取区域。操纵器的选取区域是用于与操纵器交互的表面:选取区域所接收的事件被发送到操纵器。将事件发送到操纵器意味着具有特定的意义的信号由操纵器通过其选取区域接收。选取区域可以对用户是可见的或不可见的。在实践中,选取区域具有比操纵器的图形表示大的表面。选取区域可具有几种形状,且这些形状可以是二维(2D)或三维(3D)形状。选取区域是操纵器的一部分,使得选取区域也是浸入式对象。在该过程中,该组的不同操纵器的至少两个选取区域重叠。当两个选取区域有交叉时,两个选取区域重叠。该过程包括在用户与图形用户界面交互时接收在所述至少两个重叠的选取区域上应用的事件。因此,至少两个选取区域由在用户行动时发送的事件所涉及。接着,一组过滤被触发以选择该组操纵器中的一个操纵器,并且随后,选择的操纵器被激活。
根据本发明的过程在几个操纵器可能被选择时,一般在操纵器的相应的选取区域重叠时,允许一个操纵器的选择。这改进了用户体验和操纵器的选择的人机工程学。特别是,可能混合“像素精确度”、“扩展的选取区域”、“随时随地”解决方案,而没有遇到选取问题。此外,屏幕空间是最佳的,这是因为所有操纵器可同时交互。另外,该过程与适合于发送事件的所有设备(例如笔图形输入板、多触摸硬件、虚拟现实等)完全兼容。本发明还允许操作被并行化,这是因为所有操纵器可被同时显示。作为结果,如果检测到几个交互(例如几个触摸点),则正确的下层操纵器将在每个点位置处被激活。
该过程是计算机实现的。这意味着该过程的步骤(或基本上所有步骤)由至少一个计算机执行。在实例中,可通过用户-计算机交互来执行该过程的至少一些步骤的触发。所需的用户-计算机交互的水平可取决于所预知的自动行为的水平,并与实现用户的希望的需要平衡。在实例中,该水平可以是用户定义的和/或预先定义的。
例如,在图形用户界面中用户交互时,触发接收在至少两个选取区域上应用的事件的步骤:设计者在两个操纵器的各自选取区域上移动由指示设备(例如鼠标)控制的光标,并且他们接着点击鼠标的按钮用于将事件发送到操纵器。
该过程的计算机实现的一般例子是使用包括适合于这个目的的图形用户界面(GUI)的系统来执行该过程。GUI与存储器和处理器耦合。存储数据库的存储器仅仅是适合于这样的存储的任何硬件。
所谓“数据库”指的是为了搜索和获取而组织的数据(即,信息)的任何集合。当被存储在存储器上时,数据库允许通过计算机快速搜索和获取。数据库实际上被构造成结合各种数据处理操作来便于数据的存储、获取、修改和检测。数据库可由可被分解成记录的文件或一组文件组成,每个记录由一个或多个字段组成。字段是数据存储的基本单元。用户可主要通过查询来获取数据。使用关键字和排序命令,用户可快速搜索、重新布置、分组和选择在很多记录中的字段,以根据正被使用的数据库管理系统的规则来获取或创建关于数据的特定集合的报告。
在该过程的情况下,数据库包括用于为每个操纵器存储各自的标识符的第一文件(或列表)以及用于存储每个操纵器的各自选取区域的第二文件(或列表)。这些第一和第二列表相关:这使从操纵器的选取区域获取操纵器的标识符变得可能,反之亦然。
该过程可适用于建模对象的操纵器。建模对象是由存储在数据库中的数据定义的任何对象。扩而广之,措辞“建模对象”表示数据本身。根据系统的类型,建模对象可由不同类型的数据定义。系统实际上可以是CAD系统、CAE系统、CAM系统和/或PLM系统的任何组合。
在那些不同的系统中,建模对象由相应的数据定义。可相应地提到CAD对象、PLM对象、CAE对象、CAM对象、CAD数据、PLM数据、CAM数据和CAE数据。然而,这些系统不是彼此排斥的,这是因为建模对象可由相应于这些系统的任何组合的数据定义。系统可因此正好是CAD和PLM系统,这根据下面提供的这样的系统的定义将是明显的。
所谓CAD系统指的是至少适合于根据建模对象的图形表示来设计建模对象的任何系统,例如CATIA。在这种情况下,定义建模对象的数据包括允许建模对象的表示的数据。CAD系统可例如使用边缘或线——在某些情况下使用面或表面——来提供CAD建模对象的表示。线、边缘或表面可用各种方式(例如非均匀有理B样条(NURBS))表示。具体地,CAD文件包含规范,几何图形可从所述规范产生,几何图形又允许表示被产生。建模对象的规范可存储在单个CAD文件或多个CAD文件中。代表CAD系统中的建模对象的文件的一般大小针对每个部件是一兆字节的范围内。而且,建模对象一般可以是数千部件的组合。
在CAD的背景中,建模对象一般可以是3D建模对象,其例如代表产品(例如一个部件或部件的组件、或可能是产品的组件)。所谓3D建模对象指的是由允许3D表示的数据建模的任何对象。3D表示允许从所有角度观察部件。例如,3D建模对象在被3D地表示时可被处理并绕着其轴中的任一个或绕着显示有该表示的屏幕中的任何轴旋转。这特别不包括2D图标,其不是3D建模的。3D表示的显示便于设计(即,增加设计者在统计上完成其任务的速度)。这加快了工业中的制造过程,这是因为产品的设计是制造过程的一部分。
CAD系统可以是基于历史的。在这种情况下,建模对象进一步由包括几何特征的历史的数据定义。建模对象实际上可由实体人员(即,设计者/用户)使用标准建模特征(例如,挤压、旋转、切割和/或弄圆等)和/或标准表面加工特征(例如,扫描、混合、增进、填充、变形、平滑化等)来设计。支持这样的建模功能的很多CAD系统是基于历史的系统。这意味着设计特征的创建历史一般通过非循环数据流保存,非循环数据流通过输入和输出链路将所述几何特征链接在一起。基于历史的建模范例自从八十年代初以来就是公知的。建模对象由两种持续的数据表示描述:历史和B-rep(即,边界表示)。B-rep是在历史中定义的计算的结果。当建模对象被表示时在计算机的屏幕上显示的部件的形状为B-rep(的棋盘形布置)。部件的历史是设计目的。基本上,历史收集关于建模对象经历的操作的信息。B-rep可与历史保存在一起,以使显示复杂的部件变得更容易。历史可与B-rep保存在一起,以便根据设计目的允许部件的设计变化。
所谓PLM系统指的是适合于管理代表物理制造的产品的建模对象的任何系统。在PLM系统中,建模对象因此由适合于制造物理对象的数据定义。这些一般可以是尺寸值和/或公差值。为了对象的正确制造,实际上最好有这样的值。
所谓CAE系统指的是适合于建模对象的物理行为的分析的任何系统。在CAE系统中,建模对象因此由适合于这样的行为的分析的数据定义。这一般可以是一组行为特征。例如,相应于门的建模对象可由指示门绕着轴旋转的数据定义。
图2示出了系统的GUI的例子,其中系统是CAD系统。
GUI 2100可以是具有标准菜单栏2110、2120以及底部和侧工具栏2140、2150的一般CAD类界面。这样的菜单和工具栏包含一组用户可选择的图标,每个图标与一个或多个操作或功能相关联,如本领域中已知的。这些图标中的一些与适合于编辑和/或操作显示在GUI 2100中的3D建模对象2000的软件工具相关联。软件工具可被分组成工作台。每个工作台包括软件工具的子集。特别是,工作台中的一个是适合于编辑建模产品2000的几何特征的编辑工作台。在操作中,设计者可例如预先选择对象2000的一部分,并接着通过选择适当的图标发起操作(例如,改变尺寸、颜色等)或编辑几何约束。例如,一般CAD操作是显示在屏幕上的3D建模对象的冲压或折叠的建模。
GUI可例如显示与所显示的产品2000有关的数据2500。在图2的例子中,被显示为“特征树”的数据2500及其3D表示2000与包括刹车夹制器和圆盘的刹车组件有关。GUI可进一步显示例如用于便于对象的3D定向、用于触发所编辑的产品的操作的模拟的各种类型的图形工具2130、2070、2080,或提供所显示的产品2000的各种属性。光标2060可由触觉设备控制以允许用户与图形工具交互。
图3示出客户端计算机系统,例如用户的工作站。
客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。进一步给客户端计算机提供图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中作为帧缓冲器也是已知的。大容量存储设备控制器1020管理对大容量存储设备(例如硬盘驱动器1030)的访问。适合于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,作为例子包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘(例如内部硬盘和可移动盘);磁光盘;以及CD-ROM盘1040。上述各项的任一个可由特别设计的ASIC(专用集成电路)补充或合并在ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机也可包括触觉设备1090,例如光标控制设备、键盘等。光标控制设备在客户端计算机中被使用以允许用户选择性地将光标定位在显示器1080上的任何期望位置处,如参考图2所述的。此外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括用于将控制信号输入到系统的很多信号生成设备。一般,光标控制设备可以是鼠标,鼠标的按钮用于产生信号。
计算机程序可包括计算机的指令,指令包括用于使上述系统执行上述过程的模块。本发明可例如在数字电子电路中或在计算机硬件、固件、软件中或在其组合中实现。本发明的装置可以在有形地体现在机器可读存储设备中用于由可编程处理器执行的计算机程序产品中实现;以及本发明的过程步骤可由可编程处理器执行,可编程处理器执行指令的程序以通过操作输入数据并产生输出来执行本发明的功能。
本发明可有利地在一个或多个计算机程序中实现,这些计算机程序在可编程系统(包括至少一个可编程处理器)上是可执行的,所述至少一个可编程处理器被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。应用程序可以用高级过程或面向对象的编程语言或如果需要则用汇编或机器语言实现;且在任何情况下,语言可以是编译或解释语言。
现在参考图1描绘该过程的例子。在步骤S100,提供了一组操纵器,每个操纵器包括至少一个选取区域,且该组中的不同操纵器的至少两个选取区域重叠。操纵器可依赖于已知的模型-视图-控制器(MVC)软件架构,其中模型管理应用域的行为和数据,对对于信息的请求和对改变状态的指令(通常来自控制器)作出响应。视图使模型成为适合于交互的形式,一般是用户界面元素。控制器接收用户输入并通过在模型对象上进行调用来发起响应。
给操纵器提供显示在图形用户界面(GUI)(如在图2中所示的图形用户界面)上的多个对象。每个对象包括至少一个操纵器。此外,不同对象的至少两个选取区域重叠,也就是说,选取区域交叉。选取区域是适合于接收事件并将事件发送到操纵器的表面。由选取区域界定的选取区的表面可以是二维(2D)或三维(3D)的。例如,如图7所示,两个操纵器(双向箭头和正方形)在2D空间中,其相应的2D选取区域重叠:在这两个选取区域所界定的表面(两个圆盘)之间存在交叉。应理解,这样的情况也可出现在3D空间中。在3D空间中,操纵器的选取区域可交叉,选取区域是2D表面(例如,圆盘)或3D表面(例如,球体)。在任何情况下,当从用户视点向第一选取区域投射的光线与这个第一选取区域和至少另一选取区域交叉时,两个选取区域重叠。
提供一组操纵器的步骤可包括向操纵器管理器签署(或注册)该组的操纵器(S102)。在MVC架构中,可由控制器来执行向操纵器管理器进行的签署。操纵器管理器管理操纵器,也就是说,它单独地管理每个操纵器和操纵器之间的关系。操纵器管理器充当在客户端-服务器模型中的服务器,而操纵器充当客户端。操纵器管理器可有利地在可编程系统上可执行的一个或多个计算机程序中实现。
签署可包括将操纵器的标识符存储在第一列表中的第一子步骤(S104)。第一列表可存储在存储器(或存储模块)上,例如存储器上或数据库上。每个操纵器的各自的标识符优选地是在操纵器被创建时分配的唯一标识符。可替换地,唯一标识符可由操纵器管理器在签署过程期间分配。
签署步骤还可包括将操纵器的至少一个选取区域存储在第二列表中的第二子步骤(S106)。将选取区域存储在第二列表中意味着表征选取区域的信息例(如选取区域的标识符)被存储。类似地,第二列表可存储在存储器(或存储模块)上,例如内存上或数据库上。优选地,由操纵器向操纵器管理器宣布操纵器的选取区域。
第一和第二列表被构造,以便可能从操纵器的选取区域获取操纵器的标识符,反之亦然。换句话说,可能根据存储在第一列表中的操纵器的标识符在第二列表中获取操纵器的选取区域;也可能根据存储在第二列表中的选取区域在第一列表中获取操纵器的标识符;所获取的标识符的各自操纵器接着被识别。第一和第二列表之间的关系可例如依赖于这两个列表之间的指针。因此在第一和第二列表之间存在对应关系。应理解,第一和第二列表可以是表的一部分。
现在参考图8和图9,其示出了两个操纵器的签署。在图8,具有选取区域200的第一操纵器被创建并将签署请求发送到操纵器管理器220。操纵器管理器接着将具有选取区域200的操纵器的标识符以及操纵器的选取区域200存储在数据库250中。应理解,两个数据库(或更多)可用于存储这些信息。图9对具有选取区域210的第二操纵器示出相同步骤。
回来参考图1,指示设备(例如光标)在两个重叠的选取区域上移动。光标可以是如在图2上显示的光标2060。光标2060可由触觉设备控制以允许用户与图形工具交互。在两个重叠的选取区域上移动指示设备意味着光标和两个重叠的选取区域被光线交叉。
接着,从光标投射光线(S120)。光线投射如本领域中已知的被执行。一般,光线从光标上的点,例如光标的箭头的末尾投射。在实践中,光线垂直于显示设备,对象和操纵器显示在该显示设备上。可替换地,可根据用户的视点来执行光线投射,如本领域中已知的。光线投射可无关紧要地适用于在2D或3D空间中的操纵器。
在光线投射期间,确定光线是否与至少两个重叠的选取区域交叉(S130)。
优选地,光线投射和交叉确定步骤被连续地执行。有利地,系统每次知道光线是否与几个选取区域交叉,也就是说,选取区域是否在光标的位置下重叠。
接着,在步骤S140,搜索第一列表以获取相应于接收事件的所述至少两个重叠的选取区域的标识符,所述至少两个重叠的选取区域存储在第二列表中。换句话说,根据接收事件的重叠选取区域来搜索存储在第一列表中的标识符,并获取操纵器的标识符。接着识别所获取的标识符的各自操纵器。如以前看到的,在第一和第二列表之间的关系可例如依赖于这两个列表之间的指针,如本领域中已知的。
接着,在步骤S150,事件由所识别的操纵器接收。事件是由用户发送到操纵器的信号。根据事件,操纵器能够执行行动。
可替换地,事件可由操纵器管理器接收。在这个配置中,操纵器管理器充当事件代理:操纵器管理器决定是否将所接收的事件发送到操纵器。换句话说,操纵器管理器专有地与指示设备通信。在签署步骤S120期间,操纵器可另外将操纵器希望签署的事件的列表传递到操纵器管理器。至于第一和第二列表,事件的这个列表可存储在第三列表中,第三列表存储在存储器上,例如内存上或数据库上。因此,每当操纵器管理器接收到事件时,它就在第三列表中检查是否针对该事件注册操纵器,并根据检查的结果将事件发送(或不发送)到操纵器。
事件可以是下列中的一个,但不限于:移动(光标在GUI中移动),开始操纵(用户点击触觉设备的按钮以便发送用于开始拖曳操作的信号),操纵(拖曳操作),结束操纵(拖曳操作结束),激活(用户点击并释放触觉设备的按钮),编辑(用户双击按钮),上下文(用户点击第二按钮)…
接着,触发一组过滤,以便找出待激活的操纵器(S170)。触发(或应用)过滤相当于执行数据的测试,例如在操纵器上的测试。
优选地,在触发这组过滤之前选择具有接收事件的至少一个选取区域的操纵器(S160)。在操纵器管理器充当事件代理的情况下,可根据存储在第三列表中的事件来选择具有事件所涉及的至少一个选取区域的操纵器。
优选地在选择的操纵器上应用一组过滤(S170)。第一过滤包括根据所接收的事件创建操纵器的子集:识别事件可能关注的操纵器。在操纵器管理器如上所解释的接收并管理事件时,操纵器管理器可有利地立即确定由所接收的事件所涉及的这组操纵器,而不需要新的计算。因此,过滤不需要被触发。可替换地,操纵器管理器可测试每个注册的操纵器它是否是事件所涉及的,用于形成被当前事件关注的操纵器的子集。
第二过滤依赖于与每个操纵器相关联的优先级。实际上,当操纵器被创建时,它可被分配优先级。优先级建立操纵器之间的重要性的顺序,重要性因此是操纵器的特征。在实践中,操纵器的优先级从四个等级的优先级中选择,且每个等级的优先级可由优先级值表示。在任何优先级与操纵器相关联的情况下,默认操纵器被赋予最低优先级号。作为结果,根据与每个操纵器相关联的优先级来创建操纵器的子集。
第三过滤包括计算指示设备和操纵器的特征点之间的距离。操纵器的特征点在操纵器上起标记的作用。在实践中,操纵器的特征点是例如由操纵器的开发者任意选择的操纵器的点。在所计算的距离当中的最小距离被确定,且具有与指示设备的最小距离的操纵器被选择。可在投影平面(例如,显示对象及其操纵器的计算机屏幕)上执行在指示设备(例如光标)和特征点之间的距离。当操纵器包括几个特征点时,表示指示设备和特征点之间的平均距离的距离被计算。
如果几个操纵器具有相同的最小距离,则可应用第四过滤。第一过滤识别最接近于用户位置的操纵器。这个过滤应用深度标准:选择具有最接近于用户视点的距离的操纵器。
在实践中,过滤被顺序地触发。这涉及每个过滤导致操纵器的相应子集的创建,且每个随后的过滤对前一过滤所创建的子集进行过滤。通过这种方式,只对一组操纵器而不是对最初在步骤100提供的整组操纵器执行操作。有利地,应用过滤所需的计算资源被保存,这是因为在计算中涉及的操纵器的数量对每次过滤减小。优选地,过滤以与它们在上文被描述的相同的顺序被触发:从第一过滤到第四过滤。
操纵器管理器可执行过滤操作,并可维持从连续的过滤得到的操纵器的连续子集。
接着,在步骤S180,剩余的操纵器可由用户选择。操纵器因此被激活;操纵器的激活优选地由操纵器管理器执行。因此,所有事件被发送到这个选定的操纵器,直到操纵器被取消选择或另一操纵器被选择。在实践中,所接收的事件的路由由操纵器管理器执行。一旦操纵器被选择,用户就可根据事件来触发与操纵器相关联的功能,即使剩余的操纵器的选取区域与其它操纵器的一个或多个选取区重叠。
图10示出根据本发明的过程的步骤S110到S180。光标从第一位置230a移动到第二位置230b:光标现在位于两个选取区域200和210上。当从第一位置移动到第二位置时,光线被连续地投射,以便确定至少两个选取区域是否被光线(未示出)交叉。一旦光标到达第二位置230b,就确定光标在重叠的选取区域230a和230b上:光线与这两个选取区域交叉。接着,经由存储在数据库250中的第一和第二列表识别相应的操纵器:获取操纵器的标识符,并接着识别操纵器。数据库250可提供在操纵器的标识符和操纵器之间的对应关系。
在用户行动时,事件240被发送到操纵器,并由充当事件的代理的操纵器管理器220接收。例如,事件可以是停止移动的光标230b。一旦事件被操纵器管理器220接收,数据库250就被查询,以便在候选操纵器的列表中获取操纵器的子集,用于基于新的标准选择操纵器:在当前事件中被关注的操纵器。这构成第一过滤的触发。接着,第二过滤在从第一次过滤获得的操纵器的子集上被触发。操纵器管理器请求子集的每个操纵器的优先级,并推断包括具有最重要的优先级(例如,最高优先级值)的操纵器的新子集。接着,在剩余的候选操纵器上执行第三过滤:操纵器管理器询问剩余的候选操纵器到当前光标230b的最小距离。只有操纵器210留下,且这个操纵器210被激活,如图11所示。可例如使用操纵器的新表现向用户显示操纵器的激活。应理解,如果几个操纵器仍然是候选操纵器,则可应用另一过滤。例如,在剩余的操纵器(或候选操纵器)的子集当中选择具有离用户视点的最近距离的操纵器;也就是说,选择根据操纵器上的用户视点最接近于用户的操纵器。
描述了本发明的优选实施例。将理解,可进行各种修改而不偏离本发明的精神和范围。因此,其它实现在下列权利要求的范围内。应理解,可使用任何类型的光标实施本发明。例如,在触敏屏幕上,用户可在屏幕上直接执行行动,例如当在屏幕上按压时发送事件。这个行动相当于执行步骤S110到S150。
Claims (11)
1.一种用于选择图形用户界面中显示的多个对象中的对象的操纵器的计算机实现的过程,每个对象包括至少一个操纵器,所述过程包括下列步骤:
-提供(S100)一组操纵器,其中,每个操纵器包括至少一个选取区域,并且所述组中的不同操纵器的至少两个选取区域重叠;
-在用户与所述图形用户界面交互时,接收(S150)在所述至少两个重叠的选取区域上应用的事件;
-触发一组过滤(S170),用以在所述一组操纵器中选择待激活的一个操纵器。
2.如权利要求1所述的计算机实现的过程,还包括下列步骤:
-从所述一组操纵器中选择操纵器,每个选择的操纵器具有接收所述事件的至少一个选取区域。
3.如权利要求1或2中的一项所述的计算机实现的过程,还包括下列步骤:
-从所述图形用户界面中的位置投射(S120)光线;
-确定(S130)所述光线和所述至少两个重叠的选取区域之间的交叉。
4.如权利要求1到3中的一项所述的计算机实现的过程,其中,所述一组过滤(S170)包括下列过滤中的至少两个:
-创建所述事件所涉及的操纵器的子集;
-根据与每个操纵器相关联的优先级创建操纵器的子集;
-创建相应的点具有与所述图形用户界面中的位置的最短距离的操纵器的子集;
-选择具有与用户视点的最近距离的操纵器。
5.如权利要求4所述的计算机实现的过程,其中,所述组中的过滤被顺序地触发。
6.如权利要求1到5中的一项所述的计算机实现的过程,还包括下列步骤:
-向操纵器管理器签署(S102)操纵器。
7.如权利要求6所述的计算机实现的过程,其中,签署操纵器的步骤包括:
-对于每个操纵器,将相应的标识符存储在第一列表中(S104),所述第一列表存储在由所述操纵器管理器管理的存储器中;
-对于每个操纵器,将相应的至少一个选取区域存储在第二列表中(S104),所述第二列表存储在由所述操纵器管理器管理的所述存储器中。
8.如权利要求7所述的计算机实现的过程,还包括下列步骤:
-在所述第一列表中进行搜索(S140),并获取与接收事件的存储在所述第二列表中的所述至少两个重叠的选取区域相对应的标识符;
-识别所获取的标识符的相应的操纵器。
9.一种用于选择图形用户界面中显示的多个对象中的对象的操纵器的装置,每个对象包括至少一个操纵器,所述装置包括用于执行权利要求1到8中的任一项的过程的模块。
10.一种包括供计算机执行的指令的计算机程序,所述指令包括用于执行权利要求1到8中的任一项的过程的模块。
11.一种计算机可读存储介质,其上记录有根据权利要求10的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11305563.6 | 2011-05-11 | ||
EP11305563.6A EP2523129B1 (en) | 2011-05-11 | 2011-05-11 | Selection of a manipulator of an object among a plurality of manipulators |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102779202A true CN102779202A (zh) | 2012-11-14 |
CN102779202B CN102779202B (zh) | 2017-08-25 |
Family
ID=44546116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210139634.6A Active CN102779202B (zh) | 2011-05-11 | 2012-05-08 | 用于选择对象的操纵器的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9336335B2 (zh) |
EP (1) | EP2523129B1 (zh) |
JP (1) | JP6189583B2 (zh) |
KR (1) | KR101932284B1 (zh) |
CN (1) | CN102779202B (zh) |
CA (1) | CA2776698C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143735A (zh) * | 2019-12-27 | 2020-05-12 | 广州盖特软件有限公司 | 一种闭合路径区域背景自定义填充和动态更新的方法 |
CN115344121A (zh) * | 2022-08-10 | 2022-11-15 | 北京字跳网络技术有限公司 | 用于处理手势事件的方法、装置、设备和存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101435578B1 (ko) * | 2013-03-21 | 2014-08-29 | (주) 사이냅소프트 | 객체 조작 인터페이스를 제공하는 문서 작성 장치 및 객체 조작 인터페이스 제공 방법 |
CN104571904B (zh) * | 2013-10-28 | 2018-08-10 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
EP3475853A1 (en) | 2016-07-28 | 2019-05-01 | Siemens Product Lifecycle Management Software Inc. | System and method for perception-based selection of features in a geometric model of a part |
US10679182B2 (en) * | 2017-05-17 | 2020-06-09 | International Business Machines Corporation | System for meeting facilitation |
WO2020247256A1 (en) | 2019-06-01 | 2020-12-10 | Apple Inc. | Device, method, and graphical user interface for manipulating 3d objects on a 2d screen |
KR20230161790A (ko) * | 2022-05-19 | 2023-11-28 | 오스템임플란트 주식회사 | 치아 교정 cad용 조작 핸들 제공 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050179703A1 (en) * | 2004-02-17 | 2005-08-18 | Sun Microsystems, Inc. | Multiprocess input redirection in a 3D window system |
CN1826575A (zh) * | 2003-06-20 | 2006-08-30 | 苹果电脑有限公司 | 用于查看重叠对象的带有单层模式的计算机接口 |
CN101086833A (zh) * | 2006-06-06 | 2007-12-12 | 佳能株式会社 | 信息处理装置及其方法 |
CN101226559A (zh) * | 2006-12-28 | 2008-07-23 | 达索系统公司 | 包含一组约束对象的产品的cad的方法和计算机程序产品 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2760798B2 (ja) * | 1988-03-30 | 1998-06-04 | 株式会社神戸製鋼所 | 図形選択装置 |
JPH02310728A (ja) * | 1989-05-26 | 1990-12-26 | Nec Corp | シーケンス作成実行装置 |
JPH04320579A (ja) * | 1991-04-19 | 1992-11-11 | Fuji Xerox Co Ltd | 画像処理装置 |
JPH05108741A (ja) * | 1991-04-26 | 1993-04-30 | Nec Corp | 回路図編集装置 |
JPH0778263A (ja) * | 1993-09-08 | 1995-03-20 | Nissan Motor Co Ltd | Cadシステム |
JPH0916370A (ja) * | 1995-06-29 | 1997-01-17 | Victor Co Of Japan Ltd | 表示オブジェクト選択方式 |
JPH0969116A (ja) * | 1995-08-31 | 1997-03-11 | Toshiba Corp | Cad装置 |
US5861889A (en) * | 1996-04-19 | 1999-01-19 | 3D-Eye, Inc. | Three dimensional computer graphics tool facilitating movement of displayed object |
JPH1153161A (ja) * | 1997-08-01 | 1999-02-26 | Canon Inc | 情報処理方法及び装置及び前記方法を実行する制御プログラムを記憶した記憶媒体 |
JP2000222086A (ja) * | 1999-02-02 | 2000-08-11 | Ricoh Co Ltd | オブジェクト選択制御方式 |
JP2002042172A (ja) * | 2000-07-25 | 2002-02-08 | Matsushita Electric Works Ltd | 仮想物体の選択方法、この方法が適用される記録媒体およびサービス |
JP2002366973A (ja) * | 2001-06-07 | 2002-12-20 | Hitachi Software Eng Co Ltd | オブジェクトの生成方法および生成されたオブジェクトの選択制御方法並びにオブジェクトのデータ構造 |
JP2003006678A (ja) * | 2001-06-18 | 2003-01-10 | Hitachi Software Eng Co Ltd | オブジェクトの選択制御方法 |
US6816176B2 (en) * | 2001-07-05 | 2004-11-09 | International Business Machines Corporation | Temporarily moving adjacent or overlapping icons away from specific icons being approached by an on-screen pointer on user interactive display interfaces |
JP2003132361A (ja) * | 2001-10-29 | 2003-05-09 | Sharp Corp | オブジェクト選択装置および方法 |
US7110005B2 (en) * | 2002-09-06 | 2006-09-19 | Autodesk, Inc. | Object manipulators and functionality |
JP4180932B2 (ja) * | 2003-01-29 | 2008-11-12 | 株式会社日立製作所 | 列車スジ選択方法及び列車スジ選択装置 |
US7302650B1 (en) * | 2003-10-31 | 2007-11-27 | Microsoft Corporation | Intuitive tools for manipulating objects in a display |
DE602004020969D1 (de) * | 2004-03-12 | 2009-06-18 | Dassault Systemes | Verfahren zur Selektierung und Handhabung von Objekten in einem CAD-System |
US20060272006A1 (en) * | 2005-05-27 | 2006-11-30 | Shaohong Wei | Systems and methods for processing electronic data |
JP4549322B2 (ja) * | 2006-07-24 | 2010-09-22 | 株式会社ナビタイムジャパン | 地図表示システム、地図表示装置および地図表示方法ならびに地図配信サーバ |
US8749544B2 (en) * | 2007-09-26 | 2014-06-10 | Autodesk, Inc. | Navigation system for a 3D virtual scene |
JP5287403B2 (ja) * | 2009-03-19 | 2013-09-11 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US8675014B1 (en) * | 2010-08-27 | 2014-03-18 | Disney Enterprises, Inc. | Efficiently detecting graphics objects near a selected point |
-
2011
- 2011-05-11 EP EP11305563.6A patent/EP2523129B1/en active Active
-
2012
- 2012-04-30 US US13/460,434 patent/US9336335B2/en active Active
- 2012-05-08 CN CN201210139634.6A patent/CN102779202B/zh active Active
- 2012-05-10 JP JP2012108471A patent/JP6189583B2/ja active Active
- 2012-05-10 KR KR1020120049801A patent/KR101932284B1/ko active IP Right Grant
- 2012-05-11 CA CA2776698A patent/CA2776698C/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1826575A (zh) * | 2003-06-20 | 2006-08-30 | 苹果电脑有限公司 | 用于查看重叠对象的带有单层模式的计算机接口 |
US20050179703A1 (en) * | 2004-02-17 | 2005-08-18 | Sun Microsystems, Inc. | Multiprocess input redirection in a 3D window system |
CN101086833A (zh) * | 2006-06-06 | 2007-12-12 | 佳能株式会社 | 信息处理装置及其方法 |
CN101226559A (zh) * | 2006-12-28 | 2008-07-23 | 达索系统公司 | 包含一组约束对象的产品的cad的方法和计算机程序产品 |
Non-Patent Citations (2)
Title |
---|
SUTHERLAND I E: "a Man-Machine Graphical Communication System", 《PAPERS ON TWENTY-FIVE YEARS OF ELECTRONIC DESIGN AUTOMATION. ACM》 * |
SUTHERLAND I E: "Sketchpad, a Man-Machine Graphical Communication System", 《PAPERS ON TWENTY-FIVE YEARS OF ELECTRONIC DESIGN AUTOMATION. ACM》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143735A (zh) * | 2019-12-27 | 2020-05-12 | 广州盖特软件有限公司 | 一种闭合路径区域背景自定义填充和动态更新的方法 |
CN115344121A (zh) * | 2022-08-10 | 2022-11-15 | 北京字跳网络技术有限公司 | 用于处理手势事件的方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2523129B1 (en) | 2020-07-01 |
CA2776698A1 (en) | 2012-11-11 |
US9336335B2 (en) | 2016-05-10 |
KR20120127277A (ko) | 2012-11-21 |
JP6189583B2 (ja) | 2017-08-30 |
US20120290958A1 (en) | 2012-11-15 |
JP2012238310A (ja) | 2012-12-06 |
KR101932284B1 (ko) | 2018-12-24 |
CA2776698C (en) | 2020-09-01 |
EP2523129A1 (en) | 2012-11-14 |
CN102779202B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102779202A (zh) | 在多个操纵器中选择对象的操纵器 | |
KR101264924B1 (ko) | 제품 수명주기 관리 데이터베이스를 이용하여 뷰내에서 오브젝트를 렌더링하는 프로세스 및 시스템 | |
US11238186B2 (en) | Designing an assembly of objects in a computer-aided design system | |
KR101955035B1 (ko) | 기하학적 3차원 모델링된 오브젝트를 디자인하는 방법 | |
CN105761303B (zh) | 在3d建模组件上创建包围盒 | |
CN101017492B (zh) | 用于显示plm数据库中的对象的方法和实现该方法的装置 | |
US10592065B2 (en) | Navigation through the hierarchical structure of a three-dimensional modeled assembly of parts | |
JP6039231B2 (ja) | 三次元シーンにおけるオブジェクトの三次元モデル化アセンブリの設計 | |
CN102542093A (zh) | 设计计算机辅助设计系统与数据库进行交互的会话中的建模对象 | |
CN102004809A (zh) | 用于显示plm数据库的对象的组件的处理、程序和装置 | |
JP2011100456A (ja) | コンピュータ支援設計のシステムにおいてオブジェクトのアセンブリを設計するための方法およびシステム | |
JP6721333B2 (ja) | オブジェクトのセットの視点の選択 | |
US11275870B2 (en) | Designing an assembly of parts in a three-dimensional scene | |
CN103823922A (zh) | 设计对象的圆形交错图案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |