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