CN109343842B - 在编辑器中显示物体的方法、系统、设备和介质 - Google Patents
在编辑器中显示物体的方法、系统、设备和介质 Download PDFInfo
- Publication number
- CN109343842B CN109343842B CN201811172631.6A CN201811172631A CN109343842B CN 109343842 B CN109343842 B CN 109343842B CN 201811172631 A CN201811172631 A CN 201811172631A CN 109343842 B CN109343842 B CN 109343842B
- Authority
- CN
- China
- Prior art keywords
- objects
- modified
- setting
- child node
- composite
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明涉及二维/三维建模技术领域,特别涉及在编辑器中显示物体的方法、系统、设备和介质。本发明中的在编辑器中显示物体的方法包括:确定布尔运算以及空间窗口中的多个物体;根据布尔运算,对空间窗口中的多个物体进行计算,得到空间窗口中的复合的物体;在资源列表中建立多个对象,多个对象分别与复合的物体以及为了得到复合的物体而进行计算的多个物体相对应,将多个物体所对应的对象设置为复合的物体所对应的对象的子节点;返回到确定布尔运算以及空间窗口中的多个物体。本发明解决现有技术只显示经过多次布尔运算得到的最终的物体,不能直观地显示最终的物体与中间的物体的从属关系,并且无法直接对中间的物体进行修改的技术问题。
Description
技术领域
本发明涉及二维(2D)/三维(3D)建模技术领域,特别涉及在编辑器中显示物体的方法、系统、设备和介质。
背景技术
在2D/3D建模软件的编辑器中,用户通过对多个简单的物体进行计算,可以得到复合的物体。计算包括取交集、取并集、取反集等,这类计算一般被称为布尔运算。此外,为了得到更为复杂的复合的物体,往往需要多次布尔运算,其中后一次布尔运算在之前布尔运算的结果基础上进行。
在现有技术中,如图1所示,为了在编辑器中得到一个圆角的转角墙体,通常包括以下步骤:1)生成一个圆柱体1;2)生成一个圆柱体2,将它设置为反相状态;3)将圆柱体1与圆柱体2的反相状态合并,形成第一物体,即空心圆柱体;4)生成一个长方体3,将它设置为反相状态;5)将第一物体与长方体3的反相状态合并,形成第二物体,即二分之一的空心圆柱体;6)生成一个长方体4,将它设置为反相状态;7)将第二物体与长方体4的反相状态合并,形成第三物体,即四分之一的空心圆柱体;8)生成长方体5以及长方体6;9)将第三物体与长方体5以及长方体6合并,形成第四物体,即圆角的转角墙体。
然而,在现有技术中,只存储经过多次布尔运算得到的圆角的转角墙体。如果用户希望例如修改墙体的厚度,如减小圆柱体2的直径,则只能重新进行上述步骤。因此,现有技术只显示经过多次布尔运算得到的最终的物体,不能直观地显示最终的物体与中间的物体的从属关系,并且无法直接对中间的物体进行修改。
发明内容
本发明的目的在于提供在编辑器中显示物体的方法、系统、设备和介质,解决现有技术只显示经过多次布尔运算得到的最终的物体,不能直观地显示最终的物体与中间的物体的从属关系,并且无法直接对中间的物体进行修改的技术问题。
本发明的实施方式公开了一种在编辑器中显示物体的方法,编辑器包括空间窗口和资源列表,方法包括:
确定布尔运算以及空间窗口中的多个物体;
根据布尔运算,对空间窗口中的多个物体进行计算,得到空间窗口中的复合的物体;
在资源列表中建立多个对象,多个对象分别与复合的物体以及为了得到复合的物体而进行计算的多个物体相对应,将多个物体所对应的对象设置为复合的物体所对应的对象的子节点;
返回到确定布尔运算以及空间窗口中的多个物体,其中当确定没有布尔运算时,得到的空间窗口中的复合的物体为最终的复合的物体,在资源列表中建立的多个对象为最终的对象。
可选地,在确定空间窗口中的多个物体时,该多个物体包括复合的物体。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则在资源列表中再建立多个对象,该多个对象分别与为了得到该复合的物体而进行计算的多个物体相对应,将该多个对象设置为该被设置为子节点的对象的子节点。
可选地,具有子节点的对象包括展开状态和收起状态。
可选地,当具有子节点的对象从收起状态切换为展开状态时,
在资源列表中将该具有子节点的对象以及被设置为子节点的对象设置为显示;
在空间窗口中将该具有子节点的对象所对应的物体设置为隐藏,将被设置为子节点的对象所对应的物体设置为显示。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则将该复合的物体所对应的对象从收起状态切换为展开状态。
可选地,当具有子节点的对象从展开状态切换为收起状态时,
确定被设置为子节点的对象所对应的物体是否被修改;
如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体和其余未被修改的物体相对应,并且替换该具有子节点的对象以及被设置为子节点的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏;
如果被设置为子节点的对象所对应的物体均未被修改,则在资源列表中将该具有子节点的对象设置为显示,将被设置为子节点的对象设置为隐藏;在空间窗口中将该具有子节点的对象所对应的物体设置为显示,将被设置为子节点的对象所对应的物体设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体相对应,并且替换该具有子节点的对象以及被修改的物体所对应的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中将该具有子节点的对象对应于新的复合的物体,将被修改的物体所对应的对象对应于修改后的物体;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
可选地,如果被修改的物体为复合的物体,则将该复合的物体所对应的对象从展开状态切换为收起状态。
本发明的实施方式还公开了一种在编辑器中显示物体的系统,编辑器包括空间窗口和资源列表,系统包括:
确定单元,用于确定布尔运算以及空间窗口中的多个物体;
计算单元,用于根据布尔运算,对空间窗口中的多个物体进行计算,得到空间窗口中的复合的物体;
对象建立单元,用于在资源列表中建立多个对象,多个对象分别与复合的物体以及为了得到复合的物体而进行计算的多个物体相对应,将多个物体所对应的对象设置为复合的物体所对应的对象的子节点;
返回到确定单元,其中当确定单元确定没有布尔运算时,计算单元得到的空间窗口中的复合的物体为最终的复合的物体,对象建立单元在资源列表中建立的多个对象为最终的对象。
可选地,在确定空间窗口中的多个物体时,该多个物体包括复合的物体。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则对象建立单元在资源列表中再建立多个对象,该多个对象分别与为了得到该复合的物体而进行计算的多个物体相对应,将该多个对象设置为该被设置为子节点的对象的子节点。
可选地,具有子节点的对象包括展开状态和收起状态。
可选地,系统还包括对象状态切换单元,当具有子节点的对象从收起状态切换为展开状态时,对象状态切换单元用于:
在资源列表中将该具有子节点的对象以及被设置为子节点的对象设置为显示;
在空间窗口中将该具有子节点的对象所对应的物体设置为隐藏,将被设置为子节点的对象所对应的物体设置为显示。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则对象状态切换单元用于将该复合的物体所对应的对象从收起状态切换为展开状态。
可选地,系统还包括对象状态切换单元,当具有子节点的对象从展开状态切换为收起状态时,对象状态切换单元用于:
确定被设置为子节点的对象所对应的物体是否被修改;
如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体和其余未被修改的物体相对应,并且替换该具有子节点的对象以及被设置为子节点的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏;
如果被设置为子节点的对象所对应的物体均未被修改,则在资源列表中将该具有子节点的对象设置为显示,将被设置为子节点的对象设置为隐藏;在空间窗口中将该具有子节点的对象所对应的物体设置为显示,将被设置为子节点的对象所对应的物体设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体相对应,并且替换该具有子节点的对象以及被修改的物体所对应的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中将该具有子节点的对象对应于新的复合的物体,将被修改的物体所对应的对象对应于修改后的物体;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
可选地,如果被修改的物体为复合的物体,则对象状态切换单元用于将该复合的物体所对应的对象从展开状态切换为收起状态。
本发明的实施方式还公开了一种在编辑器中显示物体的设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施在编辑器中显示物体的方法。
本发明的实施方式还公开了一种使用计算机程序编码的非易失性计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施在编辑器中显示物体的方法。
本发明实施方式与现有技术相比,主要区别及其效果在于:
在本发明中,资源列表中的对象分别与空间窗口中的物体相对应,并且资源列表中的对象之间具有层级关系,从而直观地显示空间窗口中的复合的物体以及为了得到复合的物体而进行计算的多个物体之间的从属关系。另外,具有子节点的对象包括展开状态和收起状态,用户可以直接对被设置为子节点的对象进行修改,从而修改该具有子节点的对象所对应的物体。
附图说明
图1示出根据现有技术的在编辑器中得到圆角的转角墙体的示意图;
图2示出在编辑器中显示物体的方法的流程示意图;
图3示出资源列表中的多个对象的层级关系的示意图;
图4示出资源列表中的多个对象的层级关系的另一示意图;
图5示出资源列表中的多个对象的层级关系的又一示意图;
图6示出资源列表中的所有具有子节点的对象都处于展开状态的示意图;
图7示出资源列表中的所有具有子节点的对象都处于收起状态的示意图;
图8示出在编辑器中显示物体的系统的结构示意图;
图9示出在编辑器中显示物体的系统的另一结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明的第一实施方式涉及一种在编辑器中显示物体的方法。编辑器包括空间窗口和资源列表,空间窗口可以显示物体的2D/3D模型,资源列表可以显示对象之间的层级关系。图2示出在编辑器中显示物体的方法的流程示意图。如图2所示,方法100包括:
步骤102,确定布尔运算以及空间窗口中的多个物体。
具体地,可以从用户处接收布尔运算以及空间窗口中的多个物体。其中,布尔运算包括取交集、取并集、取反集等,多个物体包括2D的几何物体,如圆柱形、长方形、圆形等,和/或3D的几何物体,如圆柱体、长方体、球体等。通过步骤102,可以确定为了得到复合的物体而进行计算的布尔运算以及多个物体。
步骤104,根据布尔运算,对空间窗口中的多个物体进行计算,得到空间窗口中的复合的物体。
其中,复合的物体包括2D的几何物体,如多边形等,和/或3D的几何物体,如圆角的转角墙体等。通过步骤104,可以得到复合的物体。
步骤106,在资源列表中建立多个对象,多个对象分别与复合的物体以及为了得到复合的物体而进行计算的多个物体相对应,将多个物体所对应的对象设置为复合的物体所对应的对象的子节点。
通过步骤106,可以实现资源列表中的对象与空间窗口中的物体之间的对应关系,并且资源列表中的对象之间具有层级关系,从而可以直观地显示空间窗口中的复合的物体以及为了得到复合的物体而进行计算的多个物体之间的从属关系。
返回到步骤102,其中当确定没有布尔运算时,得到的空间窗口中的复合的物体为最终的复合的物体,在资源列表中建立的多个对象为最终的对象。
具体地,当不再从用户处接收到布尔运算时,得到的空间窗口中的复合的物体为最终的复合的物体,在资源列表中建立的多个对象为最终的对象。
图3示出资源列表中的多个对象的层级关系的示意图。如图3所示,例如,确定布尔运算为取交集,以及确定空间窗口中的多个物体为圆柱体Geometry1和反相的圆柱体Geometry2(反相)。根据布尔运算,对空间窗口中的多个物体Geometry1、Geometry2(反相)进行计算,得到空间窗口中的复合的物体Geometry1.1。在资源列表中建立多个对象Object1.1、Object1、Object2(反相),多个对象Object1.1、Object1、Object2(反相)分别与复合的物体Geometry1.1以及为了得到复合的物体Geometry1.1而进行计算的多个物体Geometry1、Geometry2(反相)相对应,将多个物体Geometry1、Geometry2(反相)所对应的对象Object1、Object2(反相)设置为复合的物体Geometry1.1所对应的对象Object1.1的子节点。
返回到确定布尔运算以及空间窗口中的多个物体,其中当确定没有布尔运算时,得到的空间窗口中的复合的物体Geometry1.1为最终的复合的物体,在资源列表中建立的多个对象Object1.1、Object1、Object2(反相)为最终的对象。
可选地,在确定空间窗口中的多个物体时,该多个物体包括复合的物体。
具体地,可以从用户处接收复合的物体和/或新增的物体。因此,用户可以对复合的物体再次进行计算,从而通过多次布尔运算得到更为复杂的复合的物体,其中后一次布尔运算在之前布尔运算的结果基础上进行。
图4示出资源列表中的多个对象的层级关系的另一示意图。如图4所示,如图3所讨论的示例,返回到确定布尔运算以及空间窗口中的多个物体,确定布尔运算为取交集,以及确定空间窗口中的多个物体为反相的长方体Geometry3(反相)和复合的物体Geometry1.1。根据布尔运算,对空间窗口中的多个物体Geometry3(反相)、Geometry1.1进行计算,得到空间窗口中的复合的物体Geometry1.2。在资源列表中建立多个对象Object1.2、Object3(反相)、Object1.1,多个对象Object1.2、Object3(反相)、Object1.1分别与复合的物体Geometry1.2以及为了得到复合的物体Geometry1.2而进行计算的多个物体Geometry3(反相)、Geometry1.1相对应,将多个物体Geometry3(反相)、Geometry1.1所对应的对象Object3(反相)、Object1.1设置为复合的物体Geometry1.2所对应的对象Object1.2的子节点。
返回到确定布尔运算以及空间窗口中的多个物体,确定布尔运算为取交集,以及确定空间窗口中的多个物体为反相的长方体Geometry4(反相)和复合的物体Geometry1.2。根据布尔运算,对空间窗口中的多个物体Geometry4(反相)、Geometry1.2进行计算,得到空间窗口中的复合的物体Geometry1.3。在资源列表中建立多个对象Object1.3、Object4(反相)、Object1.2,多个对象Object1.3、Object4(反相)、Object1.2分别与复合的物体Geometry1.3以及为了得到复合的物体Geometry1.3而进行计算的多个物体Geometry4(反相)、Geometry1.2相对应,将多个物体Geometry4(反相)、Geometry1.2所对应的对象Object4(反相)、Object1.2设置为复合的物体Geometry1.3所对应的对象Object1.3的子节点。
返回到确定布尔运算以及空间窗口中的多个物体,确定布尔运算为取交集,以及确定空间窗口中的多个物体为长方体Geometry5、长方体Geometry6和复合的物体Geometry1.3。根据布尔运算,对空间窗口中的多个物体Geometry5、Geometry6、Geometry1.3进行计算,得到空间窗口中的复合的物体Geometry1.4。在资源列表中建立多个对象Object1.4、Object5、Object6、Object1.3,多个对象Object1.4、Object5、Object6、Object1.3分别与复合的物体Geometry1.4以及为了得到复合的物体Geometry1.4而进行计算的多个物体Geometry5、Geometry6、Geometry1.3相对应,将多个物体Geometry5、Geometry6、Geometry1.3所对应的对象Object5、Object6、Object1.3设置为复合的物体Geometry1.4所对应的对象Object1.4的子节点。
返回到确定布尔运算以及空间窗口中的多个物体,其中当确定没有布尔运算时,得到的空间窗口中的复合的物体Geometry1.4为最终的复合的物体,在资源列表中建立的多个对象Object1.4、Object5、Object6、Object1.3为最终的对象。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则在资源列表中再建立多个对象,该多个对象分别与为了得到该复合的物体而进行计算的多个物体相对应,将该多个对象设置为该被设置为子节点的对象的子节点。
因此,资源列表中的对象之间具有更清晰的层级关系,从而可以直观地显示空间窗口中的多个物体之间的更清晰的从属关系。
图5示出资源列表中的多个对象的层级关系的又一示意图。如图5所示,如图4所讨论的示例,被设置为子节点的对象Object1.3所对应的物体Geometry1.3为复合的物体,在资源列表中再建立多个对象Object4(反相)、Object1.2,该多个对象Object4(反相)、Object1.2分别与为了得到该复合的物体Geometry1.3而进行计算的多个物体Geometry4(反相)、Geometry1.2相对应,将该多个对象Object4(反相)、Object1.2设置为该被设置为子节点的对象Object1.3的子节点。
被设置为子节点的对象Object1.2所对应的物体Geometry1.2为复合的物体,在资源列表中再建立多个对象Object3(反相)、Object1.1,该多个对象Object3(反相)、Object1.1分别与为了得到该复合的物体Geometry1.2而进行计算的多个物体Geometry3(反相)、Geometry1.1相对应,将该多个对象Object3(反相)、Object1.1设置为该被设置为子节点的对象Object1.2的子节点。
被设置为子节点的对象Object1.1所对应的物体Geometry1.1为复合的物体,在资源列表中再建立多个对象Object1、Object2(反相),该多个对象Object1、Object2(反相)分别与为了得到该复合的物体Geometry1.1而进行计算的多个物体Geometry1、Geometry2(反相)相对应,将该多个对象Object1、Object2(反相)设置为该被设置为子节点的对象Object1.1的子节点。
可选地,具有子节点的对象包括展开状态和收起状态。
因此,用户可以直接对被设置为子节点的对象进行修改,从而修改该具有子节点的对象所对应的物体。
图6示出资源列表中的所有具有子节点的对象都处于展开状态的示意图。如图6所示,如图5所讨论的示例,所有具有子节点的对象都处于展开状态。
图7示出资源列表中的所有具有子节点的对象都处于收起状态的示意图。如图7所示,如图5所讨论的示例,所有具有子节点的对象都处于收起状态。
可选地,当具有子节点的对象从收起状态切换为展开状态时,在资源列表中将该具有子节点的对象以及被设置为子节点的对象设置为显示;在空间窗口中将该具有子节点的对象所对应的物体设置为隐藏,将被设置为子节点的对象所对应的物体设置为显示。
如图7所讨论的示例,当具有子节点的对象Object1.4从收起状态切换为展开状态时,在资源列表中将该具有子节点的对象Object1.4以及被设置为子节点的对象Object5、Object6、Object1.3设置为显示;在空间窗口中将该具有子节点的对象Object1.4所对应的物体Geometry1.4设置为隐藏,将被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3设置为显示。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则将该复合的物体所对应的对象从收起状态切换为展开状态。
因为如果被设置为子节点的对象所对应的物体为复合的物体,则该复合的物体所对应的对象具有子节点,所以也包括展开状态和收起状态。
如上面所讨论的示例,由于被设置为子节点的对象Object1.3所对应的物体Geometry1.3为复合的物体,则将该复合的物体所对应的对象Object1.3从收起状态切换为展开状态。在资源列表中将该具有子节点的对象Object1.3以及被设置为子节点的对象Object4(反相)、Object1.2设置为显示;在空间窗口中将该具有子节点的对象Object1.3所对应的物体Geometry1.3设置为隐藏,将被设置为子节点的对象Object4(反相)、Object1.2所对应的物体Geometry4(反相)、Geometry1.2设置为显示。
由于被设置为子节点的对象Object1.2所对应的物体Geometry1.2为复合的物体,则将该复合的物体所对应的对象Object1.2从收起状态切换为展开状态。在资源列表中将该具有子节点的对象Object1.2以及被设置为子节点的对象Object3(反相)、Object1.1设置为显示;在空间窗口中将该具有子节点的对象Object1.2所对应的物体Geometry1.2设置为隐藏,将被设置为子节点的对象Object3(反相)、Object1.1所对应的物体Geometry3(反相)、Geometry1.1设置为显示。
由于被设置为子节点的对象Object1.1所对应的物体Geometry1.1为复合的物体,则将该复合的物体所对应的对象Object1.1从收起状态切换为展开状态。在资源列表中将该具有子节点的对象Object1.1以及被设置为子节点的对象Object1、Object2(反相)设置为显示;在空间窗口中将该具有子节点的对象Object1.1所对应的物体Geometry1.1设置为隐藏,将被设置为子节点的对象Object1、Object2(反相)所对应的物体Geometry1、Geometry2(反相)设置为显示。
最终,可以将所有具有子节点的对象都从收起状态切换为展开状态。当然,也可以只展开部分具有子节点的对象。
可选地,当具有子节点的对象从展开状态切换为收起状态时,
确定被设置为子节点的对象所对应的物体是否被修改;
如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体和其余未被修改的物体相对应,并且替换该具有子节点的对象以及被设置为子节点的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏;
如果被设置为子节点的对象所对应的物体均未被修改,则在资源列表中将该具有子节点的对象设置为显示,将被设置为子节点的对象设置为隐藏;在空间窗口中将该具有子节点的对象所对应的物体设置为显示,将被设置为子节点的对象所对应的物体设置为隐藏。
具体地,被修改的物体可以是一个或多个。修改包括对物体的大小、位置、方向等属性进行修改。替换后的对象在资源列表中所处的层级与被替换的对象在资源列表中所处的层级相同。
如图6所讨论的示例,当具有子节点的对象Object1.4从展开状态切换为收起状态时,确定被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3是否被修改。
如果被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3被修改,例如物体Geometry5被修改为物体Geometry5’,则对修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象Object1.4所对应的物体Geometry1.4而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.4’;在资源列表中建立多个新的对象Object1.4(新)、Object5(新)、Object6(新)、Object1.3(新),多个新的对象Object1.4(新)、Object5(新)、Object6(新)、Object1.3(新)分别与新的复合的物体Geometry1.4’以及修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3相对应,并且替换该具有子节点的对象Object1.4以及被设置为子节点的对象Object5、Object6、Object1.3;将新的复合的物体Geometry1.4’所对应的对象Object1.4(新)设置为显示,将修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3所对应的对象Object5(新)、Object6(新)、Object1.3(新)设置为隐藏;在空间窗口中将新的复合的物体Geometry1.4’设置为显示,将修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3设置为隐藏。
如果被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3均未被修改,则在资源列表中将该具有子节点的对象Object1.4设置为显示,将被设置为子节点的对象Object5、Object6、Object1.3设置为隐藏,在空间窗口中将该具有子节点的对象Object1.4所对应的物体Geometry1.4设置为显示,将被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体相对应,并且替换该具有子节点的对象以及被修改的物体所对应的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
如上面所讨论的示例,如果被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3被修改,例如物体Geometry5被修改为物体Geometry5’,则对修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象Object1.4所对应的物体Geometry1.4而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.4’;在资源列表中建立多个新的对象Object1.4(新)、Object5(新),多个新的对象Object1.4(新)、Object5(新)分别与新的复合的物体Geometry1.4’以及修改后的物体Geometry5’相对应,并且替换该具有子节点的对象Object1.4以及被修改的物体Geometry5所对应的对象Object5;将新的复合的物体Geometry1.4’所对应的对象Object1.4(新)设置为显示,将修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3所对应的对象Object5(新)、Object6、Object1.3设置为隐藏;在空间窗口中将新的复合的物体Geometry1.4’设置为显示,将修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中将该具有子节点的对象对应于新的复合的物体,将被修改的物体所对应的对象对应于修改后的物体;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
具体地,将该具有子节点的对象对应于新的复合的物体,并且不再对应于之前的物体,将被修改的物体所对应的对象对应于修改后的物体,并且不再对应于被修改的物体。
如上面所讨论的示例,如果被设置为子节点的对象Object5、Object6、Object1.3所对应的物体Geometry5、Geometry6、Geometry1.3被修改,例如物体Geometry5被修改为物体Geometry5’,则对修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象Object1.4所对应的物体Geometry1.4而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.4’;在资源列表中将该具有子节点的对象Object1.4对应于新的复合的物体Geometry1.4’,将被修改的物体Geometry5所对应的对象Object5对应于修改后的物体Geometry5’;将新的复合的物体Geometry1.4’所对应的对象Object1.4设置为显示,将修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3所对应的对象Object5、Object6、Object1.3设置为隐藏;在空间窗口中将新的复合的物体Geometry1.4’设置为显示,将修改后的物体Geometry5’和其余未被修改的物体Geometry6、Geometry1.3设置为隐藏。
可选地,如果被修改的物体为复合的物体,则将该复合的物体所对应的对象从展开状态切换为收起状态。
因为如果被修改的物体为复合的物体,则该复合的物体所对应的对象具有子节点,所以也包括展开状态和收起状态。
如上面所讨论的示例,例如物体Geometry1.3被修改。由于被修改的物体Geometry1.3为复合的物体,则将该复合的物体所对应的对象Object1.3从展开状态切换为收起状态。确定被设置为子节点的对象Object4(反相)、Object1.2所对应的物体Geometry4(反相)、Geometry1.2是否被修改。如果被设置为子节点的对象Object4(反相)、Object1.2所对应的物体Geometry4(反相)、Geometry1.2被修改,例如物体Geometry1.2被修改。
由于被修改的物体Geometry1.2为复合的物体,则将该复合的物体所对应的对象Object1.2从展开状态切换为收起状态。确定被设置为子节点的对象Object3(反相)、Object1.1所对应的物体Geometry3(反相)、Geometry1.1是否被修改。如果被设置为子节点的对象Object3(反相)、Object1.1所对应的物体Geometry3(反相)、Geometry1.1被修改,例如物体Geometry1.1被修改。
由于被修改的物体Geometry1.1为复合的物体,则将该复合的物体所对应的对象Object1.1从展开状态切换为收起状态。确定被设置为子节点的对象Object1、Object2(反相)所对应的物体Geometry1、Geometry2(反相)是否被修改。如果被设置为子节点的对象Object1、Object2(反相)所对应的物体Geometry1、Geometry2(反相)被修改,例如物体Geometry2(反相)被修改为物体Geometry2’(反相),则对修改后的物体Geometry2’(反相)和其余未被修改的物体Geometry1重新进行布尔运算,该布尔运算是为了得到具有子节点的对象Object1.1所对应的物体Geometry1.1而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.1’;在资源列表中将该具有子节点的对象Object1.1对应于新的复合的物体Geometry1.1’,将被修改的物体Geometry2(反相)所对应的对象Object2(反相)对应于修改后的物体Geometry2’(反相);将新的复合的物体Geometry1.1’所对应的对象Object1.1设置为显示,将修改后的物体Geometry2’(反相)和其余未被修改的物体Geometry1所对应的对象Object2(反相)、Object1设置为隐藏;在空间窗口中将新的复合的物体Geometry1.1’设置为显示,将修改后的物体Geometry2’(反相)和其余未被修改的物体Geometry1设置为隐藏。
接下来,继续将复合的物体所对应的对象Object1.2从展开状态切换为收起状态,对修改后的物体Geometry1.1’和其余未被修改的物体Geometry3(反相)重新进行布尔运算,该布尔运算是为了得到具有子节点的对象Object1.2所对应的物体Geometry1.2而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.2’;在资源列表中将该具有子节点的对象Object1.2对应于新的复合的物体Geometry1.2’,将被修改的物体Geometry1.1所对应的对象Object1.1对应于修改后的物体Geometry1.1’;将新的复合的物体Geometry1.2’所对应的对象Object1.2设置为显示,将修改后的物体Geometry1.1’和其余未被修改的物体Geometry3(反相)所对应的对象Object1.1、Object3(反相)设置为隐藏;在空间窗口中将新的复合的物体Geometry1.2’设置为显示,将修改后的物体Geometry1.1’和其余未被修改的物体Geometry3(反相)设置为隐藏。
接下来,继续将复合的物体所对应的对象Object1.3从展开状态切换为收起状态,对修改后的物体Geometry1.2’和其余未被修改的物体Geometry4(反相)重新进行布尔运算,该布尔运算是为了得到具有子节点的对象Object1.3所对应的物体Geometry1.3而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.3’;在资源列表中将该具有子节点的对象Object1.3对应于新的复合的物体Geometry1.3’,将被修改的物体Geometry1.2所对应的对象Object1.2对应于修改后的物体Geometry1.2’;将新的复合的物体Geometry1.3’所对应的对象Object1.3设置为显示,将修改后的物体Geometry1.2’和其余未被修改的物体Geometry4(反相)所对应的对象Object1.2、Object4(反相)设置为隐藏;在空间窗口中将新的复合的物体Geometry1.3’设置为显示,将修改后的物体Geometry1.2’和其余未被修改的物体Geometry4(反相)设置为隐藏。
接下来,继续将复合的物体所对应的对象Object1.4从展开状态切换为收起状态,对修改后的物体Geometry1.3’和其余未被修改的物体Geometry5、Geometry6重新进行布尔运算,该布尔运算是为了得到具有子节点的对象Object1.4所对应的物体Geometry1.4而进行计算的布尔运算,即取交集,以获得空间窗口中的新的复合的物体Geometry1.4’;在资源列表中将该具有子节点的对象Object1.4对应于新的复合的物体Geometry1.4’,将被修改的物体Geometry1.3所对应的对象Object1.3对应于修改后的物体Geometry1.3’;将新的复合的物体Geometry1.4’所对应的对象Object1.4设置为显示,将修改后的物体Geometry1.3’和其余未被修改的物体Geometry5、Geometry6所对应的对象Object1.3、Object5、Object6设置为隐藏;在空间窗口中将新的复合的物体Geometry1.4’设置为显示,将修改后的物体Geometry1.3’和其余未被修改的物体Geometry5、Geometry6设置为隐藏。
最终,可以将所有具有子节点的对象都从展开状态切换为收起状态。当然,也可以只收起部分具有子节点的对象。
本发明的第二实施方式涉及一种在编辑器中显示物体的系统。编辑器包括空间窗口和资源列表。图8示出在编辑器中显示物体的系统的结构示意图。如图8所示,系统200包括:
确定单元202,用于确定布尔运算以及空间窗口中的多个物体;
计算单元204,用于根据布尔运算,对空间窗口中的多个物体进行计算,得到空间窗口中的复合的物体;
对象建立单元206,用于在资源列表中建立多个对象,多个对象分别与复合的物体以及为了得到复合的物体而进行计算的多个物体相对应,将多个物体所对应的对象设置为复合的物体所对应的对象的子节点;
返回到确定单元202,其中当确定单元202确定没有布尔运算时,计算单元204得到的空间窗口中的复合的物体为最终的复合的物体,对象建立单元206在资源列表中建立的多个对象为最终的对象。
可选地,在确定空间窗口中的多个物体时,该多个物体包括复合的物体。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则对象建立单元在资源列表中再建立多个对象,该多个对象分别与为了得到该复合的物体而进行计算的多个物体相对应,将该多个对象设置为该被设置为子节点的对象的子节点。
可选地,具有子节点的对象包括展开状态和收起状态。
图9示出在编辑器中显示物体的系统的另一结构示意图。如图9所示,可选地,系统200还包括对象状态切换单元208,当具有子节点的对象从收起状态切换为展开状态时,对象状态切换单元208用于:
在资源列表中将该具有子节点的对象以及被设置为子节点的对象设置为显示;
在空间窗口中将该具有子节点的对象所对应的物体设置为隐藏,将被设置为子节点的对象所对应的物体设置为显示。
可选地,如果被设置为子节点的对象所对应的物体为复合的物体,则对象状态切换单元208用于将该复合的物体所对应的对象从收起状态切换为展开状态。
可选地,系统200还包括对象状态切换单元208,当具有子节点的对象从展开状态切换为收起状态时,对象状态切换单元208用于:
确定被设置为子节点的对象所对应的物体是否被修改;
如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体和其余未被修改的物体相对应,并且替换该具有子节点的对象以及被设置为子节点的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏;
如果被设置为子节点的对象所对应的物体均未被修改,则在资源列表中将该具有子节点的对象设置为显示,将被设置为子节点的对象设置为隐藏;在空间窗口中将该具有子节点的对象所对应的物体设置为显示,将被设置为子节点的对象所对应的物体设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体相对应,并且替换该具有子节点的对象以及被修改的物体所对应的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
可选地,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得空间窗口中的新的复合的物体;在资源列表中将该具有子节点的对象对应于新的复合的物体,将被修改的物体所对应的对象对应于修改后的物体;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
可选地,如果被修改的物体为复合的物体,则对象状态切换单元208用于将该复合的物体所对应的对象从展开状态切换为收起状态。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明的第三实施方式涉及一种在编辑器中显示物体的设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施在编辑器中显示物体的方法。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明的第四实施方式涉及一种使用计算机程序编码的非易失性计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施在编辑器中显示物体的方法。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
需要说明的是,本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically ErasableProgrammable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
需要说明的是,本发明各设备实施方式中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (18)
1.一种在编辑器中显示物体的方法,其特征在于,编辑器包括空间窗口和资源列表,所述方法包括:
确定布尔运算以及所述空间窗口中的多个物体;
根据所述布尔运算,对所述空间窗口中的所述多个物体进行计算,得到所述空间窗口中的复合的物体;
在所述资源列表中建立多个对象,所述多个对象分别与所述复合的物体以及为了得到所述复合的物体而进行计算的所述多个物体相对应,将所述多个物体所对应的对象设置为所述复合的物体所对应的对象的子节点;
返回到确定布尔运算以及所述空间窗口中的多个物体,其中当确定没有布尔运算时,得到的所述空间窗口中的复合的物体为最终的复合的物体,在所述资源列表中建立的多个对象为最终的对象,
其中,在确定所述空间窗口中的多个物体时,该多个物体包括复合的物体,并且其中,如果被设置为子节点的对象所对应的物体为复合的物体,则在所述资源列表中再建立多个对象,该多个对象分别与为了得到该复合的物体而进行计算的多个物体相对应,将该多个对象设置为该被设置为子节点的对象的子节点。
2.根据权利要求1所述的方法,其特征在于,具有子节点的对象包括展开状态和收起状态。
3.根据权利要求2所述的方法,其特征在于,当具有子节点的对象从所述收起状态切换为所述展开状态时,
在所述资源列表中将该具有子节点的对象以及被设置为子节点的对象设置为显示;
在所述空间窗口中将该具有子节点的对象所对应的物体设置为隐藏,将被设置为子节点的对象所对应的物体设置为显示。
4.根据权利要求3所述的方法,其特征在于,如果被设置为子节点的对象所对应的物体为复合的物体,则将该复合的物体所对应的对象从所述收起状态切换为所述展开状态。
5.根据权利要求2所述的方法,其特征在于,当具有子节点的对象从所述展开状态切换为所述收起状态时,
确定被设置为子节点的对象所对应的物体是否被修改;
如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得所述空间窗口中的新的复合的物体;在所述资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体和其余未被修改的物体相对应,并且替换该具有子节点的对象以及被设置为子节点的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;
在所述空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏;
如果被设置为子节点的对象所对应的物体均未被修改,则在所述资源列表中将该具有子节点的对象设置为显示,将被设置为子节点的对象设置为隐藏;在所述空间窗口中将该具有子节点的对象所对应的物体设置为显示,将被设置为子节点的对象所对应的物体设置为隐藏。
6.根据权利要求5所述的方法,其特征在于,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得所述空间窗口中的新的复合的物体;在所述资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体相对应,并且替换该具有子节点的对象以及被修改的物体所对应的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在所述空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
7.根据权利要求5所述的方法,其特征在于,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得所述空间窗口中的新的复合的物体;在所述资源列表中将该具有子节点的对象对应于新的复合的物体,将被修改的物体所对应的对象对应于修改后的物体;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在所述空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
8.根据权利要求5-7中任一项所述的方法,其特征在于,如果被修改的物体为复合的物体,则将该复合的物体所对应的对象从所述展开状态切换为所述收起状态。
9.一种在编辑器中显示物体的系统,其特征在于,编辑器包括空间窗口和资源列表,所述系统包括:
确定单元,用于确定布尔运算以及所述空间窗口中的多个物体;
计算单元,用于根据所述布尔运算,对所述空间窗口中的所述多个物体进行计算,得到所述空间窗口中的复合的物体;
对象建立单元,用于在所述资源列表中建立多个对象,所述多个对象分别与所述复合的物体以及为了得到所述复合的物体而进行计算的所述多个物体相对应,将所述多个物体所对应的对象设置为所述复合的物体所对应的对象的子节点;
返回到所述确定单元,其中当所述确定单元确定没有布尔运算时,所述计算单元得到的所述空间窗口中的复合的物体为最终的复合的物体,所述对象建立单元在所述资源列表中建立的多个对象为最终的对象,
其中,在确定所述空间窗口中的多个物体时,该多个物体包括复合的物体,并且其中,如果被设置为子节点的对象所对应的物体为复合的物体,则所述对象建立单元在所述资源列表中再建立多个对象,该多个对象分别与为了得到该复合的物体而进行计算的多个物体相对应,将该多个对象设置为该被设置为子节点的对象的子节点。
10.根据权利要求9所述的系统,其特征在于,具有子节点的对象包括展开状态和收起状态。
11.根据权利要求10所述的系统,其特征在于,所述系统还包括对象状态切换单元,当具有子节点的对象从所述收起状态切换为所述展开状态时,所述对象状态切换单元用于:
在所述资源列表中将该具有子节点的对象以及被设置为子节点的对象设置为显示;
在所述空间窗口中将该具有子节点的对象所对应的物体设置为隐藏,将被设置为子节点的对象所对应的物体设置为显示。
12.根据权利要求11所述的系统,其特征在于,如果被设置为子节点的对象所对应的物体为复合的物体,则所述对象状态切换单元用于将该复合的物体所对应的对象从所述收起状态切换为所述展开状态。
13.根据权利要求10所述的系统,其特征在于,所述系统还包括对象状态切换单元,当具有子节点的对象从所述展开状态切换为所述收起状态时,所述对象状态切换单元用于:确定被设置为子节点的对象所对应的物体是否被修改;
如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得所述空间窗口中的新的复合的物体;在所述资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体和其余未被修改的物体相对应,并且替换该具有子节点的对象以及被设置为子节点的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;
在所述空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏;
如果被设置为子节点的对象所对应的物体均未被修改,则在所述资源列表中将该具有子节点的对象设置为显示,将被设置为子节点的对象设置为隐藏;在所述空间窗口中将该具有子节点的对象所对应的物体设置为显示,将被设置为子节点的对象所对应的物体设置为隐藏。
14.根据权利要求13所述的系统,其特征在于,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得所述空间窗口中的新的复合的物体;在所述资源列表中建立多个新的对象,多个新的对象分别与新的复合的物体以及修改后的物体相对应,并且替换该具有子节点的对象以及被修改的物体所对应的对象;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在所述空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
15.根据权利要求13所述的系统,其特征在于,如果被设置为子节点的对象所对应的物体被修改,则对修改后的物体和其余未被修改的物体重新进行布尔运算,该布尔运算是为了得到该具有子节点的对象所对应的物体而进行计算的布尔运算,以获得所述空间窗口中的新的复合的物体;在所述资源列表中将该具有子节点的对象对应于新的复合的物体,将被修改的物体所对应的对象对应于修改后的物体;将新的复合的物体所对应的对象设置为显示,将修改后的物体和其余未被修改的物体所对应的对象设置为隐藏;在所述空间窗口中将新的复合的物体设置为显示,将修改后的物体和其余未被修改的物体设置为隐藏。
16.根据权利要求13-15中任一项所述的系统,其特征在于,如果被修改的物体为复合的物体,则所述对象状态切换单元用于将该复合的物体所对应的对象从所述展开状态切换为所述收起状态。
17.一种在编辑器中显示物体的设备,其特征在于,所述设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施如权利要求1-8中任一项所述的在编辑器中显示物体的方法。
18.一种使用计算机程序编码的非易失性计算机存储介质,其特征在于,所述计算机程序包括指令,所述指令被一个以上的计算机执行以实施如权利要求1-8中任一项所述的在编辑器中显示物体的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811172631.6A CN109343842B (zh) | 2018-10-09 | 2018-10-09 | 在编辑器中显示物体的方法、系统、设备和介质 |
US17/277,695 US11294541B2 (en) | 2018-10-09 | 2018-12-14 | Method, system, and device for displaying geometry in editor, and medium |
PCT/CN2018/121228 WO2020073483A1 (zh) | 2018-10-09 | 2018-12-14 | 在编辑器中显示物体的方法、系统、设备和介质 |
EP18936363.3A EP3842928A4 (en) | 2018-10-09 | 2018-12-14 | METHOD, SYSTEM AND DEVICE FOR DISPLAYING OBJECTS IN THE EDITOR AND MEDIUM |
BR112021005863-0A BR112021005863B1 (pt) | 2018-10-09 | 2018-12-14 | Método, sistema e dispositivo para exibir a geometria no editor e meio |
US17/685,126 US11768585B2 (en) | 2018-10-09 | 2022-03-02 | Method, system, and device for displaying geometry in editor, and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811172631.6A CN109343842B (zh) | 2018-10-09 | 2018-10-09 | 在编辑器中显示物体的方法、系统、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109343842A CN109343842A (zh) | 2019-02-15 |
CN109343842B true CN109343842B (zh) | 2020-11-06 |
Family
ID=65308220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811172631.6A Active CN109343842B (zh) | 2018-10-09 | 2018-10-09 | 在编辑器中显示物体的方法、系统、设备和介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11294541B2 (zh) |
EP (1) | EP3842928A4 (zh) |
CN (1) | CN109343842B (zh) |
BR (1) | BR112021005863B1 (zh) |
WO (1) | WO2020073483A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527267A (zh) * | 2020-12-15 | 2021-03-19 | 湖南戈人自动化科技有限公司 | 一种编辑器展开折叠效果实现方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528929A (zh) * | 2016-09-30 | 2017-03-22 | 南京航空航天大学 | 一种基于动态加工元—建模树矩阵的中间工序模型动态显示及轻量化存储方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005103921A2 (en) * | 2004-04-15 | 2005-11-03 | Edda Technology, Inc. | Interactive 3d data editing via 2d graphical drawing tools |
FR2886030B1 (fr) * | 2005-05-19 | 2007-08-10 | Airbus Sas | Procede et dispositif de generation d'un modele parametrique lie a une geometrie 3d |
US7755621B2 (en) * | 2006-06-16 | 2010-07-13 | Autodesk, Inc. | Fast interactive object manipulation |
US7831108B2 (en) * | 2006-12-13 | 2010-11-09 | Adobe Systems Incorporated | Universal front end for masks, selections, and paths |
CN101339575B (zh) | 2008-08-07 | 2011-04-13 | 上海交通大学 | 三维可视化工艺设计系统及其设计方法 |
US8380005B1 (en) * | 2009-02-02 | 2013-02-19 | Adobe Systems Incorporated | System and method for image composition using non-destructive editing model and fast gradient solver |
KR20120001114A (ko) * | 2010-06-29 | 2012-01-04 | 주식회사 태울엔터테인먼트 | 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법 |
WO2013150234A2 (fr) * | 2012-04-05 | 2013-10-10 | Isotropix | Procédé et dispositif de traitement d'information |
CN102855663B (zh) | 2012-05-04 | 2015-04-01 | 北京建筑工程学院 | 一种根据激光雷达栅格点云构建csg模型的方法 |
CN102722912B (zh) * | 2012-05-25 | 2015-11-25 | 任伟峰 | 一种三维虚拟现实场景中物体按层级加卸载的方法和装置 |
CN102930026B (zh) * | 2012-11-02 | 2015-07-15 | 北京数码大方科技股份有限公司 | Cad模型的转换方法和装置 |
US9542779B2 (en) * | 2013-03-15 | 2017-01-10 | Environmental Systems Research Institute | Object modeling in multi-dimensional space |
EP3271900A4 (en) * | 2015-03-17 | 2019-03-06 | Environmental Systems Research Institute, Inc. | INTERACTIVE DIMENSIONING OF PARAMETRIC MODELS |
CN105488627A (zh) * | 2015-11-30 | 2016-04-13 | 用友优普信息技术有限公司 | 管理erp中套件展现和编辑的装置及方法 |
CN107038749A (zh) * | 2016-02-03 | 2017-08-11 | 北京八亿时空信息工程有限公司 | 多分辨率三维建模方法及建模装置 |
CN106447777A (zh) * | 2016-10-21 | 2017-02-22 | 西南大学 | 布尔运算支持下的三维拓扑关系表达与映射 |
US10754515B2 (en) * | 2017-03-10 | 2020-08-25 | Shapeways, Inc. | Systems and methods for 3D scripting language for manipulation of existing 3D model data |
-
2018
- 2018-10-09 CN CN201811172631.6A patent/CN109343842B/zh active Active
- 2018-12-14 US US17/277,695 patent/US11294541B2/en active Active
- 2018-12-14 WO PCT/CN2018/121228 patent/WO2020073483A1/zh unknown
- 2018-12-14 BR BR112021005863-0A patent/BR112021005863B1/pt active IP Right Grant
- 2018-12-14 EP EP18936363.3A patent/EP3842928A4/en not_active Ceased
-
2022
- 2022-03-02 US US17/685,126 patent/US11768585B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528929A (zh) * | 2016-09-30 | 2017-03-22 | 南京航空航天大学 | 一种基于动态加工元—建模树矩阵的中间工序模型动态显示及轻量化存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109343842A (zh) | 2019-02-15 |
US11294541B2 (en) | 2022-04-05 |
BR112021005863B1 (pt) | 2021-09-28 |
WO2020073483A1 (zh) | 2020-04-16 |
EP3842928A1 (en) | 2021-06-30 |
EP3842928A4 (en) | 2021-12-01 |
BR112021005863A2 (pt) | 2021-06-01 |
US11768585B2 (en) | 2023-09-26 |
US20210311596A1 (en) | 2021-10-07 |
US20220187962A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3962361B2 (ja) | 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム | |
KR101336013B1 (ko) | Bim 데이터와 gis 데이터의 연동 처리 시스템 및 방법 | |
JP2012510688A5 (zh) | ||
Chen et al. | Computing shortest paths among curved obstacles in the plane | |
CN107066646B (zh) | 受约束非对称细分网格中拓扑结构变化的方法、系统、介质 | |
JP2016126795A5 (zh) | ||
JP3599386B2 (ja) | エッジの混合方法 | |
Woo | Abstraction of mid-surfaces from solid models of thin-walled parts: A divide-and-conquer approach | |
CN109343842B (zh) | 在编辑器中显示物体的方法、系统、设备和介质 | |
Suárez et al. | Scaffolding skeletons using spherical Voronoi diagrams: Feasibility, regularity and symmetry | |
JP2015179515A (ja) | 幾何学的制約で接続されたジオメトリを用いた工業製品の設計 | |
JP2013164813A5 (ja) | 情報処理装置、及びその制御方法、プログラム | |
CN110796722B (zh) | 三维渲染呈现方法及装置 | |
CN113240789A (zh) | 虚拟对象构建方法及装置 | |
US10241651B2 (en) | Grid-based rendering of nodes and relationships between nodes | |
JP6747116B2 (ja) | ボクセル化処理プログラム、ボクセル化処理方法および情報処理装置 | |
Holmes et al. | Degenerate random environments | |
US10331803B2 (en) | Computer aided modeling | |
KR20160143936A (ko) | 선택적 3d 렌더링 방법 및 이를 위한 시스템 | |
CN111127626B (zh) | 一种生成房源带看频次热力图的方法、装置和存储介质 | |
KR100848304B1 (ko) | 다해상도 곡면 트리밍을 이용한 곡면 조각 변형 효과 표현장치 및 그 방법 | |
RU2021108629A (ru) | Способ, система и устройство для отображения геометрического элемента в редакторе, и носитель информации | |
CN114070744B (zh) | 一种网络拓扑的结点坐标生成方法、装置、设备和介质 | |
Mahdavi-Amiri et al. | Adaptive atlas of connectivity maps | |
Michálková et al. | A tetrahedron-based subdivision scheme for spatial G1 curves |
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 |