Newton Dynamics  4.00
ndMatrix Class Reference
Inheritance diagram for ndMatrix:
ndFastAabb ndPolygonMeshDesc

Public Member Functions

 ndMatrix (const ndFloat32 *const array)
 
 ndMatrix (const ndVector &front, const ndVector &up, const ndVector &right, const ndVector &posit)
 
D_CORE_API ndMatrix (const ndQuaternion &rotation, const ndVector &position)
 
 ndMatrix (const ndVector &front)
 
 ndMatrix (const ndVector &p, const ndVector &q)
 
ndVectoroperator[] (ndInt32 i)
 
const ndVectoroperator[] (ndInt32 i) const
 
ndMatrix Inverse () const
 
D_CORE_API ndMatrix Inverse4x4 () const
 
ndMatrix Transpose () const
 
ndMatrix Transpose4X4 () const
 
ndVector RotateVector (const ndVector &v) const
 
ndVector UnrotateVector (const ndVector &v) const
 
ndVector TransformVector (const ndVector &v) const
 
ndVector UntransformVector (const ndVector &v) const
 
ndPlane TransformPlane (const ndPlane &localPlane) const
 
ndPlane UntransformPlane (const ndPlane &globalPlane) const
 
ndVector TransformVector1x4 (const ndVector &v) const
 
D_CORE_API ndVector SolveByGaussianElimination (const ndVector &v) const
 
D_CORE_API void TransformBBox (const ndVector &p0local, const ndVector &p1local, ndVector &p0, ndVector &p1) const
 
D_CORE_API void CalcPitchYawRoll (ndVector &euler0, ndVector &euler1) const
 
D_CORE_API void TransformTriplex (ndFloat32 *const dst, ndInt32 dstStrideInBytes, const ndFloat32 *const src, ndInt32 srcStrideInBytes, ndInt32 count) const
 
D_CORE_API void TransformTriplex (ndFloat64 *const dst, ndInt32 dstStrideInBytes, const ndFloat64 *const src, ndInt32 srcStrideInBytes, ndInt32 count) const
 
D_CORE_API void TransformTriplex (ndFloat64 *const dst, ndInt32 dstStrideInBytes, const ndFloat32 *const src, ndInt32 srcStrideInBytes, ndInt32 count) const
 
bool TestIdentity () const
 
bool TestSymetric3x3 () const
 
bool TestOrthogonal (ndFloat32 tol=ndFloat32(1.0e-4f)) const
 
D_CORE_API ndMatrix Multiply3X3 (const ndMatrix &B) const
 
D_CORE_API ndMatrix operator* (const ndMatrix &B) const
 
D_CORE_API ndVector EigenVectors ()
 
D_CORE_API void PolarDecomposition (ndMatrix &transformMatrix, ndVector &scale, ndMatrix &stretchAxis) const
 
D_CORE_API ndMatrix (const ndMatrix &transformMatrix, const ndVector &scale, const ndMatrix &stretchAxis)
 

Public Attributes

ndVector m_front
 
ndVector m_up
 
ndVector m_right
 
ndVector m_posit