//----------------------------------------------------------------------------- // 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; }
const CBoundingBoxAligned CModel::GetWorldBoundsRec() { CBoundingBoxAligned bounds = GetWorldBounds(); for (size_t i = 0; i < m_Props.size(); ++i) bounds += m_Props[i].m_Model->GetWorldBoundsRec(); return bounds; }
pxReal pxShape::GetEffectiveRadius( const pxVec3& direction ) const { pxAABB bounds; GetWorldBounds( pxTransform::GetIdentity(), bounds ); pxVec3 support = pxAabbSupport( bounds.GetSize(), direction ); return support.Length(); }
const Vector& CRoom::WorldSpaceCenter() { Vector mins = vec3_origin; Vector maxs = vec3_origin; GetWorldBounds( &mins, &maxs ); Vector &vecResult = AllocTempVector(); vecResult = ( mins + maxs ) / 2.0f; return vecResult; }