Logo Search packages:      
Sourcecode: blender version File versions  Download package

btMatrix3x3 Class Reference

#include <btMatrix3x3.h>

List of all members.


Detailed Description

The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with btQuaternion, btTransform and btVector3. Make sure to only include a pure orthogonal matrix without scaling.

Definition at line 28 of file btMatrix3x3.h.


Public Member Functions

btMatrix3x3 absolute () const
 Return the matrix with all values non negative.
btMatrix3x3 adjoint () const
 Return the adjoint of the matrix.
SIMD_FORCE_INLINE btMatrix3x3 (const btMatrix3x3 &other)
 Copy constructor.
 btMatrix3x3 (const btScalar &xx, const btScalar &xy, const btScalar &xz, const btScalar &yx, const btScalar &yy, const btScalar &yz, const btScalar &zx, const btScalar &zy, const btScalar &zz)
 Constructor with row major formatting.
 btMatrix3x3 (const btQuaternion &q)
 Constructor from Quaternion.
 btMatrix3x3 ()
 No initializaion constructor.
btScalar determinant () const
 Return the determinant of the matrix.
void diagonalize (btMatrix3x3 &rot, btScalar threshold, int maxSteps)
 diagonalizes this matrix by the Jacobi method.
SIMD_FORCE_INLINE btVector3 getColumn (int i) const
 Get a column of the matrix as a vector.
void getEulerYPR (btScalar &yaw, btScalar &pitch, btScalar &roll) const
 Get the matrix represented as euler angles around YXZ, roundtrip with setEulerYPR.
void getEulerZYX (btScalar &yaw, btScalar &pitch, btScalar &roll, unsigned int solution_number=1) const
 Get the matrix represented as euler angles around ZYX.
void getOpenGLSubMatrix (btScalar *m) const
 Fill the values of the matrix into a 9 element array.
void getRotation (btQuaternion &q) const
 Get the matrix represented as a quaternion.
SIMD_FORCE_INLINE const btVector3 & getRow (int i) const
 Get a row of the matrix as a vector.
btMatrix3x3 inverse () const
 Return the inverse of the matrix.
btMatrix3x3operator*= (const btMatrix3x3 &m)
 Multiply by the target matrix on the right.
SIMD_FORCE_INLINE btMatrix3x3operator= (const btMatrix3x3 &other)
 Assignment Operator.
SIMD_FORCE_INLINE const btVector3 & operator[] (int i) const
 Get a const reference to a row of the matrix as a vector.
SIMD_FORCE_INLINE btVector3 & operator[] (int i)
 Get a mutable reference to a row of the matrix as a vector.
btMatrix3x3 scaled (const btVector3 &s) const
 Create a scaled copy of the matrix.
void setEulerYPR (const btScalar &yaw, const btScalar &pitch, const btScalar &roll)
 Set the matrix from euler angles using YPR around YXZ respectively.
void setEulerZYX (btScalar eulerX, btScalar eulerY, btScalar eulerZ)
 Set the matrix from euler angles YPR around ZYX axes.
void setFromOpenGLSubMatrix (const btScalar *m)
 Set from a carray of btScalars.
void setIdentity ()
 Set the matrix to the identity.
void setRotation (const btQuaternion &q)
 Set the matrix from a quaternion.
void setValue (const btScalar &xx, const btScalar &xy, const btScalar &xz, const btScalar &yx, const btScalar &yy, const btScalar &yz, const btScalar &zx, const btScalar &zy, const btScalar &zz)
 Set the values of the matrix explicitly (row major).
SIMD_FORCE_INLINE btScalar tdotx (const btVector3 &v) const
SIMD_FORCE_INLINE btScalar tdoty (const btVector3 &v) const
SIMD_FORCE_INLINE btScalar tdotz (const btVector3 &v) const
btMatrix3x3 timesTranspose (const btMatrix3x3 &m) const
btMatrix3x3 transpose () const
 Return the transpose of the matrix.
btMatrix3x3 transposeTimes (const btMatrix3x3 &m) const

Static Public Member Functions

static const btMatrix3x3getIdentity ()

Protected Member Functions

btScalar cofac (int r1, int c1, int r2, int c2) const
 Calculate the matrix cofactor.

Protected Attributes

btVector3 m_el [3]
 Data storage for the matrix, each vector is a row of the matrix.

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index