Chipmunk轴对齐边界盒:cpBB

    • 简单的边界盒结构体,存储着,bottom,right,top等值。
    • 便捷的构造函数,如cpv()函数一样返回一个副本而不是一个申请的指针。
    • 便捷的构造函数,用来构造一个位置为p,半径为r的一个圆的边界盒

    运算操作

    • cpBool cpBBContainsBB(const cpBB bb, const cpBB other) - 如果bb完全包含返回true
    • cpBool cpBBContainsVect(const cpBB bb, const cpVect v) - 如果bb包含v返回true
    • cpBB cpBBMerge(const cpBB a, const cpBB b) - 返回包含ab的最小的边界框
    • cpBB cpBBExpand(const cpBB bb, const cpVect v) - 返回包含bbv的最小的边界框
    • cpVect cpBBCenter(const cpBB bb) - 返回bb的中心点矢量
    • cpFloat cpBBMergedArea(cpBB a, cpBB b) - 合并ab然后返回合并后的矢量的边界框的面积
    • cpFloat cpBBSegmentQuery(cpBB bb, cpVect a, cpVect b) - 返回分段查询相交bb的相交点个数,如果没有相交,返回INFINITY
    • cpBool cpBBIntersectsSegment(cpBB bb, cpVect a, cpVect b) - 如果由ab两端点定义的线段和bb相交返回true
    • cpVect cpBBClampVect(const cpBB bb, const cpVect v) - 返回在边界框中被截断的矢量的副本
    • cpVect cpBBWrapVect(const cpBB bb, const cpVect v) - 返回v包含边界框的矢量的副本