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


C++ BoundingBox::addBounds方法代码示例

本文整理汇总了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);
}
开发者ID:siredblood,项目名称:tree-bumpkin-project,代码行数:29,代码来源:terrain_height_map1.cpp

示例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 ) );
}
开发者ID:siredblood,项目名称:tree-bumpkin-project,代码行数:22,代码来源:chunk_exit_portal.cpp

示例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 );
	}
}
开发者ID:siredblood,项目名称:tree-bumpkin-project,代码行数:23,代码来源:pymodelnode.cpp


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