本文整理汇总了C++中AABB::GetExtent方法的典型用法代码示例。如果您正苦于以下问题:C++ AABB::GetExtent方法的具体用法?C++ AABB::GetExtent怎么用?C++ AABB::GetExtent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AABB
的用法示例。
在下文中一共展示了AABB::GetExtent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AABBInHalfSpace
bool AABBInHalfSpace(const AABB & box, const float * plane)
{
/*
Main Idea:
-> Separating-axis test with only normal of the plane.
*/
float radius = box.GetExtent(0) * abs(plane[0])
+ box.GetExtent(1) * abs(plane[1])
+ box.GetExtent(2) * abs(plane[2]);
float signed_distance = box.GetCenter()[0] * plane[0]
+ box.GetCenter()[1] * plane[1]
+ box.GetCenter()[2] * plane[2]
+ plane[3];
return signed_distance + radius >= 0; //Only test if box is in positive side of plane.
}
示例2: Intersects
bool AABB::Intersects(AABB& other)
{
for (int i = 0; i < 3; ++i)
{
if (extents[i].Intersects(other.GetExtent(i)))
return true;
}
return false;
}