OpenCASCADE:Modeling Data之边界框
许多 OCCT 算法中都使用了边界框。最常见的用途是作为一个过滤器,避免检查形状对之间的过度干扰(检查边界框之间的干扰比形状之间简单得多,如果它们不干扰,那么搜索相应形状之间的干扰就没有意义)。通常,边界框可以分为两种主要类型:
轴对齐边界框 (AABB) 是边缘平行于世界坐标系 (WCS) 轴的框;
定向 BndBox (OBB) 在其自己的坐标系中定义,可以相对于 WCS 旋转。事实上,AABB 是 OBB 的一个特例。
下图说明了使用 OBB 优于 AABB 时的示例。
此图中的 AABB 受到干扰。因此,许多 OCCT 算法会花费大量时间来干涉形状。但是,如果我们检查不受干扰的 OBB,则不需要搜索形状之间的干扰。那时,OBB 的创建和分析比 AABB 的类比操作花费的时间要多得多。
在本节的后面,具有最小表面积的边界框将被称为最优的。
在 OCCT 中,边界框在Bnd包中定义。Bnd_Box类定义了 AABB,Bnd_OBB类定义了 OBB。这些类包含以下常用方法:
IsVoid方法指示边界框是否为空(未初始化)。