本文整理汇总了C++中Extent::Area方法的典型用法代码示例。如果您正苦于以下问题:C++ Extent::Area方法的具体用法?C++ Extent::Area怎么用?C++ Extent::Area使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Extent
的用法示例。
在下文中一共展示了Extent::Area方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RandomNavAreaPositionWithin
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
Vector RandomNavAreaPositionWithin( const Vector &mins, const Vector &maxs, float minimumarea, int maxtries )
{
if( maxtries < 0 )
maxtries = 1;
Vector random;
CNavArea *pArea = NULL;
Extent extent;
for( int i = 0; i < maxtries; i++ )
{
random.Init(
mins.x + ((float)rand() / RAND_MAX) * (maxs.x - mins.x),
mins.y + ((float)rand() / RAND_MAX) * (maxs.y - mins.y),
maxs.z
);
pArea = TheNavMesh->GetNearestNavArea( random, false, 10000.0f, false, false );
if( pArea )
{
pArea->GetExtent( &extent );
if( extent.Area() >= minimumarea )
break;
}
// Reset
pArea = NULL;
}
if( !pArea )
{
if( g_pynavmesh_debug.GetBool() )
DevMsg("RandomNavAreaPosition: No area found within Mins: %f %f %f, Maxs: %f %f %f, Random: %f %f %f\n",
mins.x, mins.y, mins.z, maxs.x, maxs.y, maxs.z, random.x, random.y, random.z);
return vec3_origin;
}
Vector vRandomPoint = pArea->GetRandomPoint();
vRandomPoint.z += 32.0f;
if( g_pynavmesh_debug.GetBool() )
DevMsg("RandomNavAreaPosition: Found position %f %f %f\n", vRandomPoint.x, vRandomPoint.y, vRandomPoint.z);
return vRandomPoint;
}