一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、数据结构的生成方法、查询方法与流程

2022-12-19 22:47:57 来源:中国专利 TAG:


1.本发明属于半导体设计和生产技术领域,尤其涉及一种基于图层信息的数据处理方法及相应的数据结构的生成方法、相应的查询方法。


背景技术:

2.在超大规模集成电路设计中,目前主流的版图数据文件格式有两种:gdsii 格式和oasis格式。两种版图数据文件格式虽然存储方式有一定差别,但都具有基本图元(basic cell)和图元(cell),如gdsii中的基本图元boundary、path。根据图元的创建方式,图元有不同的类型,例如gdsii中的sref、aref, oasis中的repetitions。其中,gdsii中的aref,通过引用其他基本图元或图元并按规则阵列出大量重复结构,获得新的图元;gdsii中的sref,通过引用其他基本图元或图元创建出大量重复结构,获得新的图元。
3.集成电路领域的eda(electronic design automation)工具对于设计中的阵列类型的处理更加灵活多样,这主要是由集成电路中元器件存在高度可复用的特点所决定的。这种特点决定了版图数据文件的高可压缩性,这也同时说明了版图数据文件的完全展开将产生大量冗余信息而占用大量计算机存储空间,不利于高效的查找并提取相关基本图元信息。
4.在半导体设计和生产领域中需要检查基本图元之间的连接关系,由上述可知现有的常规版图数据文件格式下的数据结构中对提取基本图元信息并检查基本图元之间的连接关系,无法满足当前查询速度的要求,效率难以进一步提高。
5.因此目前十分需要研究一种数据处理方法、相应的数据结构的生成方法,以及查询方法能够适用于提取任意基本图元之间的连接关系,并且速度更快,效率更高,以此进一步推动半导体设计和生产技术的深入发展及广泛应用。


技术实现要素:

6.本发明是为解决上述现有技术的全部或部分问题,本发明一方面提供了一种基于图层信息的数据处理方法,经过该方法处理后的版图文件将方便基本图元间连接关系的查询操作;本发明的另一个方面提供了相应的数据结构的生成方法。本发明还提供了查询方法,能够快速提取任意基本图元之间的连接关系。
7.本发明一方面提供的一种基于图层信息的数据处理方法,设置多个节点 (node),用于存储图层信息;所述节点设置有层级;所述多个节点构成树形结构;所述节点包含信息:节点名称、若干个图层及其图层边界框(boundary box) 的信息、基本图元数量、起始基本图元的编号;其中,所述节点名称用于标识所述节点;所述图层边界框是指将所述节点中的所述图层的所有基本图元包围起来的最小矩形框;所述基本图元数量是指所述节点中基本图元的个数;以基本图元编号标识所述基本图元,且所述节点中的所述基本图元编号连续;所述节点中最小的基本图元编号作为所述起始基本图元的编号。最小矩形框是指能够将所述节点中某图层的所有基本图元包围起来的面积最小的矩形框,且矩形框的轮廓线与
坐标轴正交。
8.所述节点还包含节点边界框的信息;所述节点边界框是指将所述节点中所有基本图元包围起来的最小矩形框。所述最小矩形框是指能够将所述节点中所有基本图元包围起来的面积最小的矩形框。所述节点还包括节点边界框的信息,使得利用基于图层信息的数据结构提取任意基本图元之间的连接关系时可以通过先查询节点边界框与基本图元的关系而后进一步查询,更加快捷、有利于提高查询效率。
9.所述图层边界框的信息包含所述图层边界框的尺寸信息和坐标信息;所述节点边界框的信息包含所述节点边界框的尺寸信息和坐标信息。
10.所述基本图元是指图层中的多边形结构图形。
11.本发明另一方面提供基于图层信息的数据结构的生成方法,包括:步骤s1. 获取版图文件(例如gdsii版图文件)并遍历获得图层信息;所述图层信息包含图元信息和基本图元信息;步骤s2.对基本图元进行编号,包括对组成同一个图元的基本图元进行连续编号(保证图元中的基本图元编号连续);步骤s3.对每个图元生成对应的节点,所述节点用于存储对应图元中的所述图层信息;步骤s4. 基于所述图元信息设置所述节点的层级,将所述图元引用的或者阵列的基本图元和图元对应生成的节点,作为所述图元对应生成节点的子节点;完成步骤s3中生成的所有节点的层级设置,基于所述层级形成树形结构,生成基于图层信息的数据结构的文件;其中,所述图元是指由若干个基本图元组成的图形,所述图元信息包含所述图元的创建方式,所述创建方式包括:引用基本图元或图元的方式 (如gdsii中的sref),和/或阵列基本图元或图元的方式(如gdsii中的aref);所述基本图元是指图层中的多边形结构图形(如gdsii中的填充多边形boundary、带一定宽度的线条path);所述基本图元信息包含基本图元的所属图层信息、位置信息和尺寸信息;所述节点包含信息:节点名称、若干个图层及其图层边界框的信息、基本图元数量,以及起始基本图元的编号;其中,所述节点名称用于标识所述节点;所述图层边界框是指将所述节点中的所述图层的所有基本图元包围起来的最小矩形框;所述基本图元数量是指所述节点中基本图元的个数;所述起始基本图元的编号是指所述节点中最小的基本图元编号。最小矩形框是指能够将所述节点中某图层的所有基本图元包围起来的面积最小的矩形框。
12.所述节点还包含节点边界框的信息;所述节点边界框是指将所述节点中所有基本图元包围起来的最小矩形框。所述最小矩形框是指能够将所述节点中所有基本图元包围起来的面积最小的矩形框。生成的节点包括节点边界框的信息,在后续利用数据结构进行查询基本图元连接关系时就能先判断节点边界框与基本图元的相对关系而后进一步查询,查询效率将得到进一步的提高。
13.所述图层边界框的信息包含所述图层边界框的尺寸信息和坐标信息;所述节点边界框的信息包含所述节点边界框的尺寸信息和坐标信息。
14.本发明还提供了查询方法,用于检查版图文件中基本图元之间的连接关系;步骤包括:步骤一.获取初始版图文件,确定目标基本图元;步骤二.采用本发明的基于图层信息的数据结构的生成方法,根据所述初始版图文件生成基于图层信息的数据结构的文件,记为第一数据结构文件;基于所述第一数据结构文件,进行节点遍历查询,获得检查结果集合,记为第一集合;所述第一集合中是所述初始版图文件中不考虑切断图层,与所述目标基本图元存在连接关系的所有基本图元;步骤三.根据所述第一集合新建第一版图文件(如
gdsii版图文件);获取所述初始版图文件的切断图层新建为第二版图文件;利用所述第二版图文件对所述第一版图文件进行截断操作(例如可通过简单的几何运算实施),即利用所述第二版图文件中的切断图层删除所述第一版图文件中对应图层的重叠区域,将更新后的所述第一版图文件记为第三版图文件;步骤四.采用本发明的基于图层信息的数据结构的生成方法,根据所述第三版图文件生成基于图层信息的数据结构的文件,记为第二数据结构文件;针对所述第二数据结构文件,进行节点遍历查询,获得检查结果集合,记为第二集合;所述第二集合中是与所述目标基本图元存在连接关系的所有基本图元(包括所述目标基本图元)。
15.所述步骤三中,所述第一版图文件的层级深度设置为1。
16.本发明提供的查询方法还能实现选择切断图层的功能,以获得仅考虑所述切断图层后,与目标基本图元存在连接关系的所有基本图元。所述步骤三之前,选择切断图层;所述步骤三中,所述初始版图文件的切断图层是指所选择的切断图层。所述选择切断图层的功能通过下述方式实现:所述步骤三中,仅获取所述初始版图文件中所选择的切断图层新建为所述第二版图文件,并利用所述第二版图文件对所述第一版图文件进行截断操作(简单的几何运算),即利用所述第二版图文件中的切断图层删除所述第一版图文件中对应图层的重叠区域,并将截断操作后的所述第一版图文件作为所述第三版图文件。切断图层是根据实际应用情况选择的切断图层,查询获得的基本图元是考虑实际选择的切断图层后与目标基本图元存在连接关系的所有基本图元,更好的符合实际应用的需要,获得的结果能够直接利用在实际工作中,查询针对性更强,且利于实际工作整体过程的效率改善。
17.在所述步骤四之后还进行步骤五:获取步骤四中得到所有基本图元,并在所述初始版图文件中添加标识层对其进行高亮显示。对基本图元在初始版图文件中进行标识有利于指导版图设计和分析。
18.所述步骤二和/或所述步骤四中,所述进行节点遍历查询,获得检查结果集合的过程中,采用基本图元的编号来标识基本图元。对基本图元进行编号并以编号进行标识更加直观,更利于对基本图元的数据分析。
19.所述步骤二和/或所述步骤四中,所述进行节点遍历查询包括:第一步,将所述目标基本图元加入检查结果集合;将所述目标基本图元记为当前基本图元,并将所述目标基本图元的遍历状态标记为已遍历;将所述目标基本图元的所属图层记为当前图层;第二步,获取与所述当前图层有直接连接关系的图层,并与所述当前图层一起记为待查图层;第三步,遍历所述基于图层信息的数据结构的文件中的节点,包括:检查所述节点中是否有所述待查图层且其图层边界框与所述当前基本图元存在重叠:若否,则继续遍历其余节点;若是,则检查所述待查图层中是否存在基本图元与所述当前基本图元存在重叠,若存在,则将该基本图元放入检查结果集合,并将该基本图元的遍历状态标记为未遍历;第四步,针对所述当前基本图元,完成遍历所述基于图层信息的数据结构的文件中的节点后,确认当前检查结果集合中是否存在遍历状态为未遍历的基本图元:若存在,则取未遍历的基本图元作为新的当前基本图元,并将该基本图元的遍历状态修改为已遍历,将新的当前基本图元的所属图层记为新的当前图层,至第二步处理;若不存在,则结束所述节点遍历查询,获得检查结果集合。
20.所述第三步中,采用深度优先遍历所述节点。采用深度优先遍历一方面能搜索更
全面没有疏漏,另一方面对内存占用相对更少。
21.所述第三步中,检查所述节点中是否有所述待查图层且其图层边界框与所述当前基本图元存在重叠时:若为否,则在针对所述当前基本图元的节点遍历中,不再对该节点以及其子孙节点进行遍历。不遍历没有所述待查图层或者其图层边界框与所述当前基本图元没有重叠的节点,不影响查询结果的准确性同时能够有效提高查询效率。
22.所述第三步中,将放入检查结果集合的基本图元的检查状态标记为已检查,并在后续遍历查询过程中,直接跳过标记为已检查的基本图元,无需再次检查。将放入检查结果集合的基本图元的检查状态标记为已检查,能够避免重复检查,进一步优化检查效率,缩短检查时间。
23.所述节点包含节点边界框的信息;所述节点边界框是指将所述节点中所有基本图元包围起来的最小矩形框;所述第三步中,在遍历所述基于图层信息的数据结构的文件中的节点时,先检查所述节点的节点边界框是否与所述当前基本图元存在重叠:若存在,则再检查所述节点中是否有所述待查图层且该待查图层的图层边界框与所述当前基本图元存在重叠;若不存在,则在针对所述当前基本图元的节点遍历中,不再对该节点以及其子孙节点进行遍历。先检查所述节点的节点边界框是否与所述当前基本图元存在重叠,通过所述节点边界框与当前基本图元的相对关系,分别进行不同的后续节点遍历,提高了遍历效率、缩短了整体查询的时间。
24.本发明提供的查询方法还能实现选择连接图层的功能,以获得与所述目标基本图元存在连接关系的属于连接图层的所有基本图元。所述选择连接图层的功能通过下述方式实现:查询方法还包括:所述步骤二之前,选择连接图层;所述第二步中,与所述当前图层有直接连接关系的图层是指与所述当前图层为直接连接关系且属于所选择的连接图层的图层。在所述进行节点遍历查询之前选择连接图层;所述第二步中,获取与所述当前图层为直接连接关系且属于所选择的连接图层的图层,并将这些图层与所述当前图层一起记为所述待查图层。能够选择连接图层,并基于选择的图层进行查询,查询更灵活、能更好的满足实际应用中的各种具体需求。
25.与现有技术相比,本发明的主要有益效果:
26.1、本发明的基于图层信息的数据处理方法,处理后的版图文件相对于gdsii 等版图文件,能够简化基本图元的连接关系检查操等作,以辅助版图设计人员快速检查版图图素间连接关系,利于节约计算机存储空间且利于高效的查找并提取相关基本图元信息。
27.2、本发明的数据结构的生成方法,能够生成本发明的基于图层信息的数据处理方法的数据结构,而具有相应优势。
28.3、本发明的查询方法,用于检查版图文件中基本图元之间的连接关系,利用本发明的数据结构的生成方法获得的数据结构的文件,获得检查结果集合,具有相应优势,能够高效的查找并提取相关基本图元信息,检查速度快、检查结果可靠,有利于进一步提高在超大规模集成电路设计水平。
附图说明
29.图1为本发明实施例一的基于图层信息的数据结构示意图。
30.图2为本发明实施例一的根节点基本图元示意图。
1和leaf 2的所有图层的图层边界框,其中node 0的起始基本图元的编号为0,node 1的起始基本图元的编号为17,leaf 2的起始基本图元的编号为25(图中未标示)。如图5所示为leaf 0.0、node 0.1、node 1.0和leaf 1.1的所有图层的图层边界框。如图6所示为leaf 0.1.0、leaf 0.1.1、 leaf 0.1.2、leaf 1.0.0、leaf 1.0.1和leaf 1.0.2的所有图层的图层边界框。在本实施例中,图层边界框、节点边界框的轮廓都与坐标轴正交,因此图层边界框、节点边界框的坐标信息分别采用图层边界框的四条边界线、节点边界框的四条边界线进行表示。例如一个节点边界框的4个顶点坐标为(0,0)、(2,0)、(2,1)、(0,1),则只存储左边界llx=0、右边界urx=2、下边界lly=0、上边界ury=1这四个值以表示该节点边界框的坐标信息。
50.实施例二
51.基于实施例一提供的基于图层信息的数据结构,本实施例对数据结构的生成方法展开示例。如图7所示,具体包括下述步骤:
52.步骤s1:获取版图文件并遍历获得图层信息;图层信息包含图元信息和基本图元信息。在本实施例中,图元是指由若干个基本图元组成的图形。图元信息包含图元的创建方式,包括:引用基本图元或图元的方式(如gdsii中的sref)、或引用并阵列基本图元或图元的方式(如gdsii中的aref)。基本图元是指图层中的多边形结构图形(如gdsii中的填充多边形boundary、带一定宽度的线条path)。基本图元信息包含基本图元的所属图层信息、位置信息和尺寸信息。
53.步骤s2:对基本图元进行编号,所有基本图元获得唯一标识的编号,并保证图元中的基本图元编号连续。
54.步骤s3:将每个图元生成对应的节点,节点用于存储对应图元中的图层信息;节点包含信息:节点名称,若干个图层及其图层边界框(boundary box)的信息,基本图元数量,起始基本图元的编号,以及节点边界框的信息。
55.步骤s4:根据图元信息设置步骤s3中生成的节点的层级:将一个图元所引用阵列的其他基本图元或其他图元对应生成的节点、或者该图元所引用的其他基本图元或其他图元对应生成的节点,作为该图元对应生成节点的子节点;完成步骤s3中生成的所有节点的层级设置后形成树形结构,生成基于图层信息的数据结构的文件。
56.在本实施例中,节点名称用于标识节点;图层边界框是指将节点中某图层的所有基本图元包括起来的最小矩形框,图层边界框的信息包含图层边界框的尺寸信息和坐标信息;基本图元数量是指节点中基本图元的个数。起始基本图元的编号是指一个节点中最小的基本图元编号。节点边界框是指将一个节点中所有基本图元包括起来的最小矩形框。节点边界框的信息包含节点边界框的信息尺寸信息和坐标信息。
57.实施例三
58.本实施例可以使本领域的专业技术人员更全面地理解实施例二,但不以任何方式限制本发明。
59.本实施例中,获取如图8(a)所示的版图文件,示例的是gdsii版图文件,共包含7个图层,分别是:m1、m2、m3、v1、v2、mc1、mc2。图8(a)中,以m1_drawing(l101d0)表示m1图层;以m2_drawing(l103d0)表示m2图层;以m3_drawing(l105d0)表示m3图层;以v1_drawing(l102d0)表示v1图层;以v2_drawing(l104d0)表示v2图层;以mc1_drawing(l90d0)表示mc1
图层;以mc2_drawing(l91d0)表示mc2图层。其中,v1用于连接m1和m2,v2用于连接m2和m3,mc1用于截断m1,mc2用于截断m2。可以利用实施例二中所示例的生成基于图层信息的数据结构的方法,根据图8(a)的版图文件生成如图8(b)所示的基于图层信息的数据结构的文件,其顶层图元命名为cell_001,第二层共有4个图元分别命名为cell_001upper、cell_001cut、 cell_001drop_out、cell_001linker3,其中cell_001upper又由三个第三层图元组成:cell_001base、cell_001linker1、cell_001linker2,可结合图8(c) 理解。
60.在本实施例中,各节点的遍历信息获取具体步骤如下:
61.步骤1:从待检查的根图元节点(即cell_001)开始,迭代进入各图元子节点统计基本图元起始位置信息以及当前图元节点下基本图元的个数信息,分别示例如下:
62.cell_001共有4个子cell节点,共有基本图元38个。如图9(a)所示, cell_001upper在cell_001中的起始基本图元的编号为0,共包括26基本图元(阵列1次);如图9(b)所示,cell_001cut在cell_001中的起始基本图元的编号为26,包含2个基本图元(阵列3次);如图9(c)所示,cell_001drop_out 在cell_001中的起始基本图元的编号为28,包含4个基本图元(阵列1次);如图9(d)所示,cell_001linker3在cell_001中的起始基本图元的编号为32,包含2个基本图元(阵列1次)。
63.cell_001upper共有3个子单元,共有基本图元26个。如图9(e)所示, cell_001base在cell_001upper中的起始基本图元的编号为0,包含10个基本图元(阵列2次);如图9(f)所示,cell_001linker1在cell_001upper中的起始基本图元的编号为20,包含3个基本图元(阵列1次);如图9(g)所示,cell_001linker2在cell_001upper中的起始基本图元的编号为23,包含 3个基本图元(阵列1次)。
64.cell_001base中共有10个子单元。由于每个子单元都是基本图元,所以 cell_001base下共有基本图元10个,每个图元cell的起始基本图元的编号即为其单元序号。
65.cell_001linker1中共有3个子单元。由于每个子单元都是基本图元,所以 cell_001linker1下共有基本图元3个,每个图元的起始基本图元的编号即为其单元序号。
66.cell_001linker2中共有3个子单元。由于每个子单元都是基本图元,所以 cell_001linker2下共有基本图元3个,每个图元的起始基本图元的编号即为其单元序号。
67.cell_001cut中共有2个子单元。由于每个子单元都是基本图元,所以 cell_001cut下共有基本图元2个,每个图元的起始基本图元的编号即为其单元序号。
68.cell_001drop_out中共有4个子单元。由于每个子单元都是基本图元,所以cell_001drop_out下共有基本图元4个,每个图元的起始基本图元的编号即为其单元序号。
69.cell_001liker3中共有2个子单元。由于每个子单元都是基本图元。所以 cell_001liker3下共有基本图元2个,每个图元的起始基本图元的编号即为其单元序号。
70.最终得到各节点信息如下表1所示(当前cell节点下basic cell的个数):
71.表1.节点信息
[0072][0073]
步骤2:回到待检查的根图元节点(即cell_001),再次迭代进入各子图元节点统计信息,cell_001有4个一级子图元节点,共涉及7个图层。示例的是: cell_001upper是1行
×
1列的阵列类型,其一级子cell共有3个,涉及3个图层,分别是:如图9(h)所示的m1图层结构,取其最大外框为m1图层的图层边界框,具体可参考图9(i);同理取得v1以及m2的图层边界框。将上述3个图层的图层边界框信息保存在cell_001base中,具体可参考下表2。
[0074]
表2.图层边界框信息
[0075][0076]
cell001linker1是1行
×
1列的阵列类型,其一级子图元(均为基本图元) 共有3个,涉及2个图层:v1和m2。统计这2个图层的图层边界框信息保存到 cell_001linker1中,具体可参考下表3。
[0077]
表3.图层边界框信息
[0078][0079]
cell001linker2是1行
×
1列的阵列类型,其一级子图元(均为基本图元) 共有3个,涉及2个图层:v1和m2。统计这2个图层的图层边界框信息保存到 cell_001linker2中,具体可参考下表4。
[0080]
表4.图层边界框信息
[0081][0082][0083]
整合cell_001upper所有3个子图元的图层边界框信息,阵列类型将根据其阵列行列数、旋转角度、偏移坐标计算其图层边界框在当前图元下的相对坐标并保存到cell_001upper中,具体可参考下表5。
[0084]
表5.图层边界框信息
[0085][0086]
cell_001cut是1行
×
3列的阵列类型,其一级子图元(均为基本图元)共有2个,涉及2个图层:mc1和mc2。统计这2个图层的图层边界框信息保存到cell_001cut中,具体可参考下表6。
[0087]
表6.图层边界框信息
[0088][0089]
cell_001drop_out是1行
×
1列的阵列类型,其一级子图元(均为基本图元) 共有4个,涉及3个图层:m2、v2和m3。统计这3个图层的图层边界框信息保存到cell_001drop_out中,具体可参考下表7。
[0090]
表7.图层边界框信息
[0091][0092]
cell_001linker3是1行
×
1列的阵列类型,其一级子图元(均为基本图元) 共有2个,涉及2个图层:v1和m2。统计这2个图层的图层边界框信息保存到 cell_001linker3中,具体可参考下表8。
[0093]
表8.图层边界框信息
[0094][0095]
整合cell_001所有4个子图元的图层边界框信息,阵列类型将根据其阵列行列数、旋转角度、偏移坐标计算其图层边界框在当前cell下的相对坐标,具体可参考下表9。
[0096]
表9.图层边界框信息
[0097][0098][0099]
如图10所示对所有基本图元进行编号后,示例的每个基本图元的编号是1 至37号。将每个图元生成对应的节点,并根据图元类型信息设置节点的层级后形成树形结构,即完成生成基于图层信息的数据结构的文件。
[0100]
实施例四
[0101]
基于上述实施例二和三所示例的根据版图文件生成基于图层信息的数据结构的方法,本实施例提供一种版图文件中基本图元之间的连接关系的查询方法,如图11所示,步骤包括:
[0102]
步骤一:获取如图8(a)所示的版图文件,作为初始版图文件。用户通过界面选择左下角m3图层(空白图形)的基本图元为目标基本图元。
[0103]
步骤二:利用实施例二和三所示例的根据版图文件生成基于图层信息的数据结构的方法,根据初始版图文件生成如图8(b)所示的基于图层信息的数据结构的文件,作为第一数据结构文件;针对第一数据结构文件,进行节点遍历查询,获得检查结果集合:{31,29,30,28,26,27,15,18,19,17,16,25,23,24,6,7,9,8,5,22,20,21,3,1,2,0,4},记为第一集合。示例的检查结果集合中是不考虑切断图层后与目标基本图元存在连接关系的所有基本图元。
[0104]
步骤三:根据第一集合新建一个深度为1的gdsii版图文件,并记为第一版图文件;获取初始版图文件的切断图层新建为第二版图文件,并利用第二版图文件对第一版图文件进行截断操作(简单的几何运算),即利用所述第二版图文件中的切断图层删除所述第一版图文件中对应图层的重叠区域,并将截断操作后的第一版图文件记为第三版图文件。本实施例示例的第一版图文件深度为1,在其他实施情况中也可以新建层级深度不为1的版图文件,在此并不限定。
[0105]
步骤四:仍采用实施例二和三所示例的基于图层信息的数据结构的生成方法,根
据第三版图文件生成基于图层信息的数据结构的文件,记为第二数据结构文件;下表10中为第二数据结构中重新编号后的基本图元(即第三版图文件)与步骤二中获得的检查结果集合中的基本图元(即第一版图文件)的对应关系。
[0106]
表10.截断操作前后基本图元的编号对应关系表
[0107][0108][0109]
其中,第三版图文件中的24号基本图元为第一版图文件中的2号基本图元被切断图层截断后的下面半部分,第三版图文件中的25号基本图元为第一版图文件中的2号基本图元被切断图层截断后的上面半部分。
[0110]
针对第二数据结构文件,进行节点遍历查询,获得最终的检查结果集合。示例的检查结果集合是: {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24},其中0号基本图元即为目标基本图元。
[0111]
在本实施例中还进行步骤五:获取步骤四中得到的最终的检查结果集合中的所有基本图元,在初始版图文件中进行高亮显示。在有的实施情况,并不进行步骤五,在此并不限定。在本实施例中,采用基本图元的编号来标识基本图元。
[0112]
实施例五
[0113]
本实施例可以使本专业的专业技术人员更全面地理解实施例四中的“节点遍历查询”,但不以任何方式限制本发明。
[0114]
示例的节点遍历查询,如图12所示,包括:
[0115]
第一步,将目标基本图元加入检查结果集合;将目标基本图元记为当前基本图元,并将目标基本图元的遍历状态标记为已遍历;将目标基本图元的所属图层记为当前图层。
[0116]
第二步,获取与当前图层有直接连接关系的图层,并与当前图层一起记为待查图层。
[0117]
第三步,遍历数据结构的节点,包括:检查节点中是否有待查图层且其图层边界框与当前基本图元存在重叠:若节点中没有待查图层或者虽然存在待查图层但其图层边界框与当基本图元没有重叠,则继续遍历其余节点;若节点中有待查图层且其图层边界框与当前基本图元存在重叠,则检查待查图层中是否存在基本图元与当前基本图元存在重叠,若存在,则将该基本图元放入检查结果集合,并将该基本图元的遍历状态标记为未遍历。本实施例中示例的是采用深度优先遍历基于图层信息的数据结构的节点。在本实施例中,检查节点中是否有待查图层且该待查图层的图层边界框与当前基本图元存在重叠时:若节点中没有待查图层或者其图层边界框与当前基本图元没有重叠,则在针对当前基本图元的节点遍历中,不再对该节点以及其子孙节点进行遍历。在有的实施情况中并不采用深度优先遍历,或者也没有在检查节点中是否有待查图层且其图层边界框与当前基本图元存在重叠时进一步判断节点中是否有待查图层或者其图层边界框与当前基本图元没有重叠,并相应处理。在此不限定具体的做法。本实施例在第三步中,若节点中有待查图层且其图层边界框与当前基本图元存在重叠,则再检查待查图层中是否存在基本图元与当前基本图元存在重叠,若存在,则将该基本图元放入检查结果集合,并将该基本图元的遍历状态、检查状态分别标记为未遍历、已检查,在节点遍历查询的后续过程中,直接跳过无需再次检查标记为已检查的基本图元。在有些实施情况中,节点还包括节点边界框的信息;因此在这些实施情况里,第三步中,在遍历基于图层信息的数据结构的节点时,先查询节点的节点边界框是否与当前基本图元存在重叠:若存在重叠,则再查询节点中是否有待查图层且其图层边界框与当前基本图元存在重叠;若不存在重叠,则在针对当前基本图元的节点遍历中,不再对该节点以及其子孙节点进行遍历。
[0118]
第四步,完成基于图层信息的数据结构的文件中的节点遍历后,针对当前基本图元,确认当前检查结果集合中是否存在遍历状态为未遍历的基本图元:若存在,则取未遍历的基本图元作为新的当前基本图元,并将该基本图元的遍历状态修改为已遍历,将新的当前基本图元的所属图层记为新的当前图层,至第二步处理;若不存在,则完成节点遍历查询,获得检查结果集合。
[0119]
在一些实施例中,还提供选择连接图层的功能,以获得与目标基本图元存在连接关系的所有属于连接图层的基本图元。在进行节点遍历查询之前选择连接图层;第二步中,获取与当前图层为直接连接关系且属于所选择的连接图层的图层,并将这些图层与当前图层一起记为待查图层。
[0120]
在一些实施例中,还提供选择切断图层的功能,以获得仅考虑切断图层后,与目标基本图元存在连接关系的所有基本图元。在示例的查询方法中,步骤三之前,选择切断图层;步骤三中,初始版图文件的切断图层是指所选择的切断图层。选择切断图层的功能通过下述方式实现:步骤三中,仅获取初始版图文件中所选择的切断图层新建为第二版图文件,并利用第二版图文件对第一版图文件进行截断操作(简单的几何运算),即利用所述第二版
图文件中的切断图层删除所述第一版图文件中对应图层的重叠区域,并将截断操作后的第一版图文件作为第三版图文件。
[0121]
本发明为了便于叙述清楚而采用的一些常用的英文名词或字母只是用于示例性指代而非限定性解释或特定用法,不应以其可能的中文翻译或具体字母来限定本发明的保护范围。还需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献