本文整理汇总了C++中BoundingBox::addBounds方法的典型用法代码示例。如果您正苦于以下问题:C++ BoundingBox::addBounds方法的具体用法?C++ BoundingBox::addBounds怎么用?C++ BoundingBox::addBounds使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BoundingBox
的用法示例。
在下文中一共展示了BoundingBox::addBounds方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: hmCollide
/**
* This function does prism intersection tests with the terrain.
*
* @param source The source of the prism.
* @param extent The end point to test.
* @param pCallback The terrain collision callback.
*/
bool TerrainHeightMap1::collide
(
WorldTriangle const &source,
Vector3 const &extent,
TerrainCollisionCallback *pCallback
) const
{
BW_GUARD;
BoundingBox bb;
bb.addBounds(source.v0());
bb.addBounds(source.v1());
bb.addBounds(source.v2());
Vector3 delta = extent - source.v0();
bb.addBounds(extent);
bb.addBounds(source.v1() + delta);
bb.addBounds(source.v2() + delta);
return hmCollide(source, extent, bb.minBounds().x, bb.minBounds().z,
bb.maxBounds().x, bb.maxBounds().z, pCallback);
}
示例2: edBounds
void ChunkExitPortal::edBounds( BoundingBox & bbRet ) const
{
BW_GUARD;
const std::vector<Vector2> & points = portal_.points;
bbRet = BoundingBox::s_insideOut_;
// first find the average in portal space again
Vector2 avg( 0.f, 0.f );
for (uint i = 0; i < points.size(); i++)
avg += points[i];
avg /= float( points.size() );
// now build up the bounding box (also in portal space)
for (uint i = 0; i < points.size(); i++)
{
const Vector2 & apt = points[i];
bbRet.addBounds( Vector3( apt.x - avg.x, apt.y - avg.y, 0.f ) );
}
// and add a bit of depth
bbRet.addBounds( Vector3( 0.f, 0.f, 0.2f ) );
}
示例3: boundingBoxAcc
/**
* We want to add up everyone's bounding boxes
*/
void PyModelNode::boundingBoxAcc( BoundingBox & bb )
{
BW_GUARD;
if (attachments_.empty()) return;
BoundingBox tbb = BoundingBox::s_insideOut_;
for (PyAttachments::iterator it = attachments_.begin();
it != attachments_.end();
it++)
{
(*it)->boundingBoxAcc( tbb );
}
// PyModel wants world-coord bbs from us
if (!(tbb == BoundingBox::s_insideOut_))
{
tbb.transformBy( lastWorldTransform_ );
bb.addBounds( tbb );
}
}