void CEntityMiscModel::UpdateCachedData(){ aabb_t aabb_temp; m4x4_identity( m_transform ); m4x4_pivoted_transform_by_vec3( m_transform, m_translate, m_euler, eXYZ, m_scale, m_pivot ); memcpy( m_inverse_transform, m_transform, sizeof( m4x4_t ) ); m4x4_invert( m_inverse_transform ); aabb_clear( &aabb_temp ); if ( m_model && m_model->pRender ) { aabb_extend_by_aabb( &aabb_temp, m_model->pRender->GetAABB() ); } else{ VectorSet( aabb_temp.extents, 8, 8, 8 ); } aabb_for_transformed_aabb( &m_BBox, &aabb_temp, m_transform ); }
void CEntityEclassModel::UpdateCachedData() { aabb_t aabb_temp; aabb_clear(&aabb_temp); m4x4_identity(m_transform); m4x4_pivoted_transform_by_vec3(m_transform, m_translate, m_euler, eXYZ, m_scale, m_pivot); memcpy(m_inverse_transform, m_transform, sizeof(m4x4_t)); if(m4x4_invert(m_inverse_transform) == 1) { Sys_Printf("ERROR: Singular Matrix, cannot invert"); } if(m_eclass) aabb_construct_for_vec3(&aabb_temp, m_eclass->mins, m_eclass->maxs); else VectorSet(aabb_temp.extents, 8, 8, 8); aabb_for_transformed_aabb(&m_BBox, &aabb_temp, m_transform); }