- Fixed a bug in FindInvalidData causing some animation channels to be lost

- Added Q3D loader. Seems to work quite well with Quick 3D 4.0
- Updated makefile, fixed GCC compilation error cause of packed matrix fields

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@214 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
aramis_acg
2008-11-01 15:14:00 +00:00
parent c7e6fe3d73
commit daae32d62f
13 changed files with 760 additions and 26 deletions

View File

@@ -44,9 +44,10 @@ inline aiMatrix3x3 aiMatrix3x3::operator* (const aiMatrix3x3& m) const
// ------------------------------------------------------------------------------------------------
inline aiMatrix3x3& aiMatrix3x3::Transpose()
{
std::swap( a2, b1);
std::swap( a3, c1);
std::swap( b3, c2);
// (float&) don't remove, GCC complains cause of packed fields
std::swap( (float&)a2, (float&)b1);
std::swap( (float&)a3, (float&)c1);
std::swap( (float&)b3, (float&)c2);
return *this;
}

View File

@@ -58,12 +58,13 @@ inline aiMatrix4x4 aiMatrix4x4::operator* (const aiMatrix4x4& m) const
// ---------------------------------------------------------------------------
inline aiMatrix4x4& aiMatrix4x4::Transpose()
{
std::swap( b1, a2);
std::swap( c1, a3);
std::swap( c2, b3);
std::swap( d1, a4);
std::swap( d2, b4);
std::swap( d3, c4);
// (float&) don't remove, GCC complains cause of packed fields
std::swap( (float&)b1, (float&)a2);
std::swap( (float&)c1, (float&)a3);
std::swap( (float&)c2, (float&)b3);
std::swap( (float&)d1, (float&)a4);
std::swap( (float&)d2, (float&)b4);
std::swap( (float&)d3, (float&)c4);
return *this;
}