mirror of
https://github.com/g-truc/glm.git
synced 2024-11-15 06:24:34 +00:00
Improved performace.
This commit is contained in:
parent
477ba69343
commit
31f85aab6e
@ -97,16 +97,22 @@ namespace glm
|
|||||||
GLM_FUNC_QUALIFIER bool isOrthogonal(mat<C, R, T, Q> const& m, T const& epsilon)
|
GLM_FUNC_QUALIFIER bool isOrthogonal(mat<C, R, T, Q> const& m, T const& epsilon)
|
||||||
{
|
{
|
||||||
bool result = true;
|
bool result = true;
|
||||||
for(length_t i(0); result && i < m.length() - 1; ++i)
|
for(length_t i(0); result && i < m.length(); ++i)
|
||||||
|
{
|
||||||
|
result = isNormalized(m[i], epsilon);
|
||||||
for(length_t j(i + 1); result && j < m.length(); ++j)
|
for(length_t j(i + 1); result && j < m.length(); ++j)
|
||||||
result = areOrthonormal(m[i], m[j], epsilon);
|
result = abs(dot(m[i], m[j])) <= epsilon;
|
||||||
|
}
|
||||||
|
|
||||||
if(result)
|
if(result)
|
||||||
{
|
{
|
||||||
mat<C, R, T, Q> tmp = transpose(m);
|
mat<C, R, T, Q> tmp = transpose(m);
|
||||||
for(length_t i(0); result && i < m.length() - 1 ; ++i)
|
for(length_t i(0); result && i < m.length(); ++i)
|
||||||
|
{
|
||||||
|
result = isNormalized(tmp[i], epsilon);
|
||||||
for(length_t j(i + 1); result && j < m.length(); ++j)
|
for(length_t j(i + 1); result && j < m.length(); ++j)
|
||||||
result = areOrthonormal(tmp[i], tmp[j], epsilon);
|
result = abs(dot(tmp[i], tmp[j])) <= epsilon;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user