Fixed Matrix4 equality comparison
Former-commit-id: cb1e21196c2053138a8d70bc09d39ecbf7b83ba8
This commit is contained in:
parent
8d057fb3b1
commit
aaca9349fd
|
|
@ -22,7 +22,8 @@ template<typename T> class NzVector2;
|
|||
template<typename T> class NzVector3;
|
||||
template<typename T> class NzVector4;
|
||||
|
||||
template<typename T> class NzMatrix4
|
||||
template<typename T>
|
||||
class NzMatrix4
|
||||
{
|
||||
public:
|
||||
NzMatrix4();
|
||||
|
|
@ -104,6 +105,9 @@ template<typename T> class NzMatrix4
|
|||
NzMatrix4& operator*=(const NzMatrix4& matrix);
|
||||
NzMatrix4& operator*=(T scalar);
|
||||
|
||||
bool operator==(const NzMatrix4& mat) const;
|
||||
bool operator!=(const NzMatrix4& mat) const;
|
||||
|
||||
static NzMatrix4 Concatenate(const NzMatrix4& m1, const NzMatrix4& m2);
|
||||
static NzMatrix4 ConcatenateAffine(const NzMatrix4& m1, const NzMatrix4& m2);
|
||||
static NzMatrix4 Identity();
|
||||
|
|
|
|||
|
|
@ -724,6 +724,28 @@ NzMatrix4<T>& NzMatrix4<T>::operator*=(T scalar)
|
|||
return *this;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
bool NzMatrix4<T>::operator==(const NzMatrix4& mat) const
|
||||
{
|
||||
if (!m_sharedMatrix)
|
||||
return mat.m_sharedMatrix == nullptr;
|
||||
|
||||
if (!mat.m_sharedMatrix)
|
||||
return false;
|
||||
|
||||
for (unsigned int i = 0; i < 16; ++i)
|
||||
if (!NzNumberEquals((&m_sharedMatrix->m11)[i]))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
bool NzMatrix4<T>::operator!=(const NzMatrix4& mat) const
|
||||
{
|
||||
return !operator==(mat);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzMatrix4<T> NzMatrix4<T>::Concatenate(const NzMatrix4& m1, const NzMatrix4& m2)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue