今天我们再讲一下 EnclosePolygonsCheck()函数,首先说几个预备的知识:
1、polys_ctnodes_是存放每一个polygon的首个ctnode,通过front或back可以循环到该polygon的每一个ctnodes
2、ctnode的is_ground_associate属性的标识位(true or false)在AdjustCTNodeHeight函数里进行修改的
有了上面的知识点,我们来看函数:
函数首先循环我们的 polys_ctnodes_ 取出每个polygon的首个ctnode,然后按front的方向区遍历该polygon剩下的ctnode。如果front方向的ctnode没有global_match,那么我们就跳过剩下的步骤,继续往该front方向的front方向继续寻找ctnode,如下图所示: