当前位置: 首页>>代码示例>>C++>>正文


C++ Bound::getSphere方法代码示例

本文整理汇总了C++中Bound::getSphere方法的典型用法代码示例。如果您正苦于以下问题:C++ Bound::getSphere方法的具体用法?C++ Bound::getSphere怎么用?C++ Bound::getSphere使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Bound的用法示例。


在下文中一共展示了Bound::getSphere方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: intersect

he::IntersectResult CameraPerspective::intersect( const Bound& bound ) const
{
    HIERARCHICAL_PROFILE(__HE_FUNCTION__);
    const Sphere& camSphereBound(m_Bound.getSphere());
    const Cone& camConeBound(m_Bound.getCone());
    const Frustum& frustumBound(m_Bound.getFrustum());
    const Sphere& otherSphereBound(bound.getSphere());

    // Fast sphere - sphere test
    {
        HIERARCHICAL_PROFILE("Sphere Test");
        if (camSphereBound.intersectTest(otherSphereBound) == false) 
            return IntersectResult_Outside;
    }

    {
        HIERARCHICAL_PROFILE("Cone Test");
        // Fast cone - sphere test
        if (camConeBound.intersectTest(otherSphereBound) == false) 
            return IntersectResult_Outside;
    }

    // sphere frustum test
    {
        HIERARCHICAL_PROFILE("Frustum Test");
        switch(frustumBound.intersect(otherSphereBound))
        {
        case IntersectResult_Outside:
            return IntersectResult_Outside;
        case IntersectResult_Inside:
            return IntersectResult_Inside;
        case IntersectResult_Intersecting:
            {
                HIERARCHICAL_PROFILE("Slow Frustum Test");
                switch(frustumBound.intersect(bound.getAABB()))
                {
                case IntersectResult_Outside:
                    return IntersectResult_Outside;
                case IntersectResult_Inside:
                    return IntersectResult_Inside;
                case IntersectResult_Intersecting:
                    return IntersectResult_Intersecting;
                }
            }
            break;
        }
    }
    LOG(LogType_ProgrammerAssert, "Should never get here");
    return IntersectResult_Outside;
}
开发者ID:EvilInteractive,项目名称:happy-engine,代码行数:50,代码来源:CameraPerspective.cpp


注:本文中的Bound::getSphere方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。