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


C++ NxBounds3::combine方法代码示例

本文整理汇总了C++中NxBounds3::combine方法的典型用法代码示例。如果您正苦于以下问题:C++ NxBounds3::combine方法的具体用法?C++ NxBounds3::combine怎么用?C++ NxBounds3::combine使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在NxBounds3的用法示例。


在下文中一共展示了NxBounds3::combine方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: shapeBBox

//-----------------------------------------------------------------------------
//  CalcBBox
//-----------------------------------------------------------------------------
NxBox   CPhysicModelSimple::CalcBBox (void) const
{
    NxBounds3   bounds;
    for (int i = 0; i < (int)m_ActorDesc.shapes.size(); i++)
    {
        NxShapeDesc* pShapeDesc = m_ActorDesc.shapes[i];
        switch (pShapeDesc->getType())
        {
            case NX_SHAPE_BOX:
			{
				NxBoxShapeDesc* pBoxShape = (NxBoxShapeDesc*) pShapeDesc;
				NxBox shapeBBox (pBoxShape->localPose.t, pBoxShape->dimensions, pBoxShape->localPose.M);
				NxBounds3 shapeBounds;
				shapeBounds.boundsOfOBB( shapeBBox.rot, shapeBBox.center, shapeBBox.extents );
				bounds.combine (shapeBounds);
			}
            break;
            case NX_SHAPE_SPHERE:
			{
				NxSphereShapeDesc* pSphereShape = (NxSphereShapeDesc*) pShapeDesc;
				NxBox shapeBBox (pSphereShape->localPose.t, NxVec3(pSphereShape->radius), pSphereShape->localPose.M);
				NxBounds3 shapeBounds;
				shapeBounds.boundsOfOBB( shapeBBox.rot, shapeBBox.center, shapeBBox.extents );
				bounds.combine (shapeBounds);
			}
            break;
            default:
                // Caso no soportado
                assert(0);
            break;
        }
    }

    NxBox   result;
    bounds.getCenter (result.center);
    bounds.getExtents (result.extents);
    return result;
}
开发者ID:JOSE89,项目名称:DamnedSunset,代码行数:41,代码来源:PhysicModelSimple.cpp

示例2: assert

//-----------------------------------------------------------------------------
//  GetWorldBounds
//-----------------------------------------------------------------------------
NxBounds3   CPhysicObj::GetWorldBounds (void) const
{
    assert( m_bActivated );

    int         nNumParts = GetNumParts();
    // NOTA: Siempre tendremos que tener al menos 1 parte. 
    NxBounds3   result = GetWorldBounds (0);
    // El resto de bounds los combinamos con el resultado
    for (int i = 1; i < nNumParts; i++)
    {
        result.combine (GetWorldBounds(i));
    }

    return result;
}
开发者ID:gorkinovich,项目名称:DefendersOfMankind,代码行数:18,代码来源:PhysicObj.cpp

示例3: getWorldBounds

Box3F PxBody::getWorldBounds()
{
   AssertFatal( mActor, "PxBody::getTransform - The actor is null!" );
   
   NxBounds3 bounds;
   bounds.setEmpty();   
   NxBounds3 shapeBounds;

   NxShape *const* pShapeArray = mActor->getShapes();
   U32 shapeCount = mActor->getNbShapes();

   for ( U32 i = 0; i < shapeCount; i++ )
   {
      // Get the shape's bounds.
      pShapeArray[i]->getWorldBounds( shapeBounds );

      // Combine them into the total bounds.
      bounds.combine( shapeBounds );   
   }

   return pxCast<Box3F>( bounds );
}
开发者ID:03050903,项目名称:Torque3D,代码行数:22,代码来源:pxBody.cpp


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