Sp2Sp_new.md 1.3 KB

计算业务空间邻接关系

函数依赖于

sp2fl

业务空间轮廓结构

[
    [
        [
            {点坐标},
            {点坐标}...
        ], // 子轮廓的外轮廓
        [
            {点坐标},
            {点坐标}...
        ], // 子轮廓的排除轮廓n
    ], // 子轮廓
    [
        [
            {点坐标},
            {点坐标}...
        ]
    ],
]

计算细节

参与计算的业务空间

1. 找到项目下所有的楼层
2. 按照楼层, 分别找出每个楼层下的业务空间, 将一个楼层下的业务空间分组, 在一个组内计算业务空间的相邻关系

在每个子轮廓的外轮廓的相邻两个顶点的线段上做"开门"操作

1. 在线段长度大于等于一个门宽度的时候, 虚拟的在这个线段的两端分别各安装一扇门, 在门打开的过程中(两边都能打开), 扫过的面积如果跟其他空间(比如空间A)的面积有重叠时, 
则认为这个空间与空间A相邻, 依次找出所有与该空间相邻的空间.
2. 在线段长度不超过一个门的宽度时, 将继续寻找下一个点, 直到长度大于等于一个门的宽度时, 执行1
将此过程应用到所有空间上, 找出所有业务空间的相邻关系